From 12cf076118570eebbff08c6b3090e0d4798447a1 Mon Sep 17 00:00:00 2001 From: cyfraeviolae Date: Wed, 3 Apr 2024 03:17:55 -0400 Subject: no venv --- .../EditorConfig-0.12.4.dist-info/COPYING | 11 - .../EditorConfig-0.12.4.dist-info/INSTALLER | 1 - .../EditorConfig-0.12.4.dist-info/LICENSE.BSD | 22 - .../EditorConfig-0.12.4.dist-info/LICENSE.PSF | 192 - .../EditorConfig-0.12.4.dist-info/METADATA | 112 - .../EditorConfig-0.12.4.dist-info/RECORD | 28 - .../EditorConfig-0.12.4.dist-info/WHEEL | 5 - .../EditorConfig-0.12.4.dist-info/entry_points.txt | 2 - .../EditorConfig-0.12.4.dist-info/top_level.txt | 1 - .../site-packages/Faker-24.4.0.dist-info/INSTALLER | 1 - .../Faker-24.4.0.dist-info/LICENSE.txt | 19 - .../site-packages/Faker-24.4.0.dist-info/METADATA | 523 - .../site-packages/Faker-24.4.0.dist-info/RECORD | 1294 - .../site-packages/Faker-24.4.0.dist-info/WHEEL | 5 - .../Faker-24.4.0.dist-info/entry_points.txt | 5 - .../Faker-24.4.0.dist-info/top_level.txt | 1 - .../site-packages/Faker-24.4.0.dist-info/zip-safe | 1 - .../site-packages/Jinja2-3.1.3.dist-info/INSTALLER | 1 - .../Jinja2-3.1.3.dist-info/LICENSE.rst | 28 - .../site-packages/Jinja2-3.1.3.dist-info/METADATA | 105 - .../site-packages/Jinja2-3.1.3.dist-info/RECORD | 58 - .../site-packages/Jinja2-3.1.3.dist-info/WHEEL | 5 - .../Jinja2-3.1.3.dist-info/entry_points.txt | 2 - .../Jinja2-3.1.3.dist-info/top_level.txt | 1 - .../MarkupSafe-2.1.5.dist-info/INSTALLER | 1 - .../MarkupSafe-2.1.5.dist-info/LICENSE.rst | 28 - .../MarkupSafe-2.1.5.dist-info/METADATA | 93 - .../MarkupSafe-2.1.5.dist-info/RECORD | 14 - .../site-packages/MarkupSafe-2.1.5.dist-info/WHEEL | 6 - .../MarkupSafe-2.1.5.dist-info/top_level.txt | 1 - .../site-packages/PyYAML-6.0.1.dist-info/INSTALLER | 1 - .../site-packages/PyYAML-6.0.1.dist-info/LICENSE | 20 - .../site-packages/PyYAML-6.0.1.dist-info/METADATA | 46 - .../site-packages/PyYAML-6.0.1.dist-info/RECORD | 43 - .../site-packages/PyYAML-6.0.1.dist-info/WHEEL | 6 - .../PyYAML-6.0.1.dist-info/top_level.txt | 2 - .../SQLAlchemy-2.0.29.dist-info/INSTALLER | 1 - .../SQLAlchemy-2.0.29.dist-info/LICENSE | 19 - .../SQLAlchemy-2.0.29.dist-info/METADATA | 242 - .../SQLAlchemy-2.0.29.dist-info/RECORD | 530 - .../SQLAlchemy-2.0.29.dist-info/REQUESTED | 0 .../SQLAlchemy-2.0.29.dist-info/WHEEL | 6 - .../SQLAlchemy-2.0.29.dist-info/top_level.txt | 1 - .../site-packages/__pycache__/six.cpython-311.pyc | Bin 46406 -> 0 bytes .../__pycache__/typing_extensions.cpython-311.pyc | Bin 134897 -> 0 bytes .../site-packages/_distutils_hack/__init__.py | 222 - .../__pycache__/__init__.cpython-311.pyc | Bin 11164 -> 0 bytes .../__pycache__/override.cpython-311.pyc | Bin 321 -> 0 bytes .../site-packages/_distutils_hack/override.py | 1 - .../lib/python3.11/site-packages/_yaml/__init__.py | 33 - .../_yaml/__pycache__/__init__.cpython-311.pyc | Bin 938 -> 0 bytes .../aiosqlite-0.20.0.dist-info/INSTALLER | 1 - .../aiosqlite-0.20.0.dist-info/LICENSE | 21 - .../aiosqlite-0.20.0.dist-info/METADATA | 122 - .../aiosqlite-0.20.0.dist-info/RECORD | 26 - .../site-packages/aiosqlite-0.20.0.dist-info/WHEEL | 4 - .../python3.11/site-packages/aiosqlite/__init__.py | 44 - .../aiosqlite/__pycache__/__init__.cpython-311.pyc | Bin 1054 -> 0 bytes .../__pycache__/__version__.cpython-311.pyc | Bin 370 -> 0 bytes .../aiosqlite/__pycache__/context.cpython-311.pyc | Bin 3486 -> 0 bytes .../aiosqlite/__pycache__/core.cpython-311.pyc | Bin 21080 -> 0 bytes .../aiosqlite/__pycache__/cursor.cpython-311.pyc | Bin 7080 -> 0 bytes .../site-packages/aiosqlite/__version__.py | 7 - .../python3.11/site-packages/aiosqlite/context.py | 54 - .../lib/python3.11/site-packages/aiosqlite/core.py | 394 - .../python3.11/site-packages/aiosqlite/cursor.py | 118 - .../python3.11/site-packages/aiosqlite/py.typed | 0 .../site-packages/aiosqlite/tests/__init__.py | 4 - .../site-packages/aiosqlite/tests/__main__.py | 7 - .../tests/__pycache__/__init__.cpython-311.pyc | Bin 254 -> 0 bytes .../tests/__pycache__/__main__.cpython-311.pyc | Bin 390 -> 0 bytes .../tests/__pycache__/helpers.cpython-311.pyc | Bin 1482 -> 0 bytes .../tests/__pycache__/perf.cpython-311.pyc | Bin 14885 -> 0 bytes .../tests/__pycache__/smoke.cpython-311.pyc | Bin 44531 -> 0 bytes .../site-packages/aiosqlite/tests/helpers.py | 29 - .../site-packages/aiosqlite/tests/perf.py | 203 - .../site-packages/aiosqlite/tests/smoke.py | 452 - .../site-packages/anyio-4.3.0.dist-info/INSTALLER | 1 - .../site-packages/anyio-4.3.0.dist-info/LICENSE | 20 - .../site-packages/anyio-4.3.0.dist-info/METADATA | 104 - .../site-packages/anyio-4.3.0.dist-info/RECORD | 82 - .../site-packages/anyio-4.3.0.dist-info/WHEEL | 5 - .../anyio-4.3.0.dist-info/entry_points.txt | 2 - .../anyio-4.3.0.dist-info/top_level.txt | 1 - .../lib/python3.11/site-packages/anyio/__init__.py | 76 - .../anyio/__pycache__/__init__.cpython-311.pyc | Bin 4298 -> 0 bytes .../anyio/__pycache__/from_thread.cpython-311.pyc | Bin 23294 -> 0 bytes .../anyio/__pycache__/lowlevel.cpython-311.pyc | Bin 7661 -> 0 bytes .../__pycache__/pytest_plugin.cpython-311.pyc | Bin 9289 -> 0 bytes .../anyio/__pycache__/to_process.cpython-311.pyc | Bin 13577 -> 0 bytes .../anyio/__pycache__/to_thread.cpython-311.pyc | Bin 3192 -> 0 bytes .../site-packages/anyio/_backends/__init__.py | 0 .../_backends/__pycache__/__init__.cpython-311.pyc | Bin 199 -> 0 bytes .../_backends/__pycache__/_asyncio.cpython-311.pyc | Bin 132800 -> 0 bytes .../_backends/__pycache__/_trio.cpython-311.pyc | Bin 68671 -> 0 bytes .../site-packages/anyio/_backends/_asyncio.py | 2478 - .../site-packages/anyio/_backends/_trio.py | 1169 - .../site-packages/anyio/_core/__init__.py | 0 .../_core/__pycache__/__init__.cpython-311.pyc | Bin 195 -> 0 bytes .../_core/__pycache__/_eventloop.cpython-311.pyc | Bin 6862 -> 0 bytes .../_core/__pycache__/_exceptions.cpython-311.pyc | Bin 4669 -> 0 bytes .../_core/__pycache__/_fileio.cpython-311.pyc | Bin 37329 -> 0 bytes .../_core/__pycache__/_resources.cpython-311.pyc | Bin 1119 -> 0 bytes .../_core/__pycache__/_signals.cpython-311.pyc | Bin 1344 -> 0 bytes .../_core/__pycache__/_sockets.cpython-311.pyc | Bin 29147 -> 0 bytes .../_core/__pycache__/_streams.cpython-311.pyc | Bin 2675 -> 0 bytes .../__pycache__/_subprocesses.cpython-311.pyc | Bin 7118 -> 0 bytes .../__pycache__/_synchronization.cpython-311.pyc | Bin 32517 -> 0 bytes .../anyio/_core/__pycache__/_tasks.cpython-311.pyc | Bin 7718 -> 0 bytes .../_core/__pycache__/_testing.cpython-311.pyc | Bin 3662 -> 0 bytes .../_core/__pycache__/_typedattr.cpython-311.pyc | Bin 4396 -> 0 bytes .../site-packages/anyio/_core/_eventloop.py | 163 - .../site-packages/anyio/_core/_exceptions.py | 73 - .../site-packages/anyio/_core/_fileio.py | 645 - .../site-packages/anyio/_core/_resources.py | 18 - .../site-packages/anyio/_core/_signals.py | 25 - .../site-packages/anyio/_core/_sockets.py | 716 - .../site-packages/anyio/_core/_streams.py | 52 - .../site-packages/anyio/_core/_subprocesses.py | 140 - .../site-packages/anyio/_core/_synchronization.py | 649 - .../python3.11/site-packages/anyio/_core/_tasks.py | 158 - .../site-packages/anyio/_core/_testing.py | 74 - .../site-packages/anyio/_core/_typedattr.py | 81 - .../python3.11/site-packages/anyio/abc/__init__.py | 57 - .../anyio/abc/__pycache__/__init__.cpython-311.pyc | Bin 3039 -> 0 bytes .../abc/__pycache__/_eventloop.cpython-311.pyc | Bin 16291 -> 0 bytes .../abc/__pycache__/_resources.cpython-311.pyc | Bin 1800 -> 0 bytes .../anyio/abc/__pycache__/_sockets.cpython-311.pyc | Bin 11233 -> 0 bytes .../anyio/abc/__pycache__/_streams.cpython-311.pyc | Bin 9614 -> 0 bytes .../abc/__pycache__/_subprocesses.cpython-311.pyc | Bin 3674 -> 0 bytes .../anyio/abc/__pycache__/_tasks.cpython-311.pyc | Bin 4646 -> 0 bytes .../anyio/abc/__pycache__/_testing.cpython-311.pyc | Bin 3035 -> 0 bytes .../site-packages/anyio/abc/_eventloop.py | 392 - .../site-packages/anyio/abc/_resources.py | 31 - .../python3.11/site-packages/anyio/abc/_sockets.py | 194 - .../python3.11/site-packages/anyio/abc/_streams.py | 203 - .../site-packages/anyio/abc/_subprocesses.py | 79 - .../python3.11/site-packages/anyio/abc/_tasks.py | 97 - .../python3.11/site-packages/anyio/abc/_testing.py | 66 - .../python3.11/site-packages/anyio/from_thread.py | 476 - .../lib/python3.11/site-packages/anyio/lowlevel.py | 163 - venv/lib/python3.11/site-packages/anyio/py.typed | 0 .../site-packages/anyio/pytest_plugin.py | 149 - .../site-packages/anyio/streams/__init__.py | 0 .../streams/__pycache__/__init__.cpython-311.pyc | Bin 197 -> 0 bytes .../streams/__pycache__/buffered.cpython-311.pyc | Bin 6497 -> 0 bytes .../anyio/streams/__pycache__/file.cpython-311.pyc | Bin 8138 -> 0 bytes .../streams/__pycache__/memory.cpython-311.pyc | Bin 13950 -> 0 bytes .../streams/__pycache__/stapled.cpython-311.pyc | Bin 8264 -> 0 bytes .../anyio/streams/__pycache__/text.cpython-311.pyc | Bin 9019 -> 0 bytes .../anyio/streams/__pycache__/tls.cpython-311.pyc | Bin 18117 -> 0 bytes .../site-packages/anyio/streams/buffered.py | 119 - .../python3.11/site-packages/anyio/streams/file.py | 148 - .../site-packages/anyio/streams/memory.py | 283 - .../site-packages/anyio/streams/stapled.py | 141 - .../python3.11/site-packages/anyio/streams/text.py | 147 - .../python3.11/site-packages/anyio/streams/tls.py | 338 - .../python3.11/site-packages/anyio/to_process.py | 259 - .../python3.11/site-packages/anyio/to_thread.py | 69 - .../certifi-2024.2.2.dist-info/INSTALLER | 1 - .../certifi-2024.2.2.dist-info/LICENSE | 20 - .../certifi-2024.2.2.dist-info/METADATA | 66 - .../certifi-2024.2.2.dist-info/RECORD | 14 - .../site-packages/certifi-2024.2.2.dist-info/WHEEL | 5 - .../certifi-2024.2.2.dist-info/top_level.txt | 1 - .../python3.11/site-packages/certifi/__init__.py | 4 - .../python3.11/site-packages/certifi/__main__.py | 12 - .../certifi/__pycache__/__init__.cpython-311.pyc | Bin 333 -> 0 bytes .../certifi/__pycache__/__main__.cpython-311.pyc | Bin 722 -> 0 bytes .../certifi/__pycache__/core.cpython-311.pyc | Bin 3763 -> 0 bytes .../python3.11/site-packages/certifi/cacert.pem | 4814 -- venv/lib/python3.11/site-packages/certifi/core.py | 114 - venv/lib/python3.11/site-packages/certifi/py.typed | 0 .../site-packages/click-8.1.7.dist-info/INSTALLER | 1 - .../click-8.1.7.dist-info/LICENSE.rst | 28 - .../site-packages/click-8.1.7.dist-info/METADATA | 103 - .../site-packages/click-8.1.7.dist-info/RECORD | 39 - .../site-packages/click-8.1.7.dist-info/WHEEL | 5 - .../click-8.1.7.dist-info/top_level.txt | 1 - .../lib/python3.11/site-packages/click/__init__.py | 73 - .../click/__pycache__/__init__.cpython-311.pyc | Bin 3682 -> 0 bytes .../click/__pycache__/_compat.cpython-311.pyc | Bin 28673 -> 0 bytes .../click/__pycache__/_termui_impl.cpython-311.pyc | Bin 33070 -> 0 bytes .../click/__pycache__/_textwrap.cpython-311.pyc | Bin 2643 -> 0 bytes .../click/__pycache__/_winconsole.cpython-311.pyc | Bin 13333 -> 0 bytes .../click/__pycache__/core.cpython-311.pyc | Bin 142415 -> 0 bytes .../click/__pycache__/decorators.cpython-311.pyc | Bin 25437 -> 0 bytes .../click/__pycache__/exceptions.cpython-311.pyc | Bin 16196 -> 0 bytes .../click/__pycache__/formatting.cpython-311.pyc | Bin 15688 -> 0 bytes .../click/__pycache__/globals.cpython-311.pyc | Bin 3370 -> 0 bytes .../click/__pycache__/parser.cpython-311.pyc | Bin 23132 -> 0 bytes .../__pycache__/shell_completion.cpython-311.pyc | Bin 23981 -> 0 bytes .../click/__pycache__/termui.cpython-311.pyc | Bin 34477 -> 0 bytes .../click/__pycache__/testing.cpython-311.pyc | Bin 25765 -> 0 bytes .../click/__pycache__/types.cpython-311.pyc | Bin 53667 -> 0 bytes .../click/__pycache__/utils.cpython-311.pyc | Bin 27976 -> 0 bytes venv/lib/python3.11/site-packages/click/_compat.py | 623 - .../python3.11/site-packages/click/_termui_impl.py | 739 - .../python3.11/site-packages/click/_textwrap.py | 49 - .../python3.11/site-packages/click/_winconsole.py | 279 - venv/lib/python3.11/site-packages/click/core.py | 3042 - .../python3.11/site-packages/click/decorators.py | 561 - .../python3.11/site-packages/click/exceptions.py | 288 - .../python3.11/site-packages/click/formatting.py | 301 - venv/lib/python3.11/site-packages/click/globals.py | 68 - venv/lib/python3.11/site-packages/click/parser.py | 529 - venv/lib/python3.11/site-packages/click/py.typed | 0 .../site-packages/click/shell_completion.py | 596 - venv/lib/python3.11/site-packages/click/termui.py | 784 - venv/lib/python3.11/site-packages/click/testing.py | 479 - venv/lib/python3.11/site-packages/click/types.py | 1089 - venv/lib/python3.11/site-packages/click/utils.py | 624 - .../python3.11/site-packages/dateutil/__init__.py | 24 - .../dateutil/__pycache__/__init__.cpython-311.pyc | Bin 1391 -> 0 bytes .../dateutil/__pycache__/_common.cpython-311.pyc | Bin 2007 -> 0 bytes .../dateutil/__pycache__/_version.cpython-311.pyc | Bin 308 -> 0 bytes .../dateutil/__pycache__/easter.cpython-311.pyc | Bin 2933 -> 0 bytes .../__pycache__/relativedelta.cpython-311.pyc | Bin 26558 -> 0 bytes .../dateutil/__pycache__/rrule.cpython-311.pyc | Bin 74056 -> 0 bytes .../dateutil/__pycache__/tzwin.cpython-311.pyc | Bin 220 -> 0 bytes .../dateutil/__pycache__/utils.cpython-311.pyc | Bin 2689 -> 0 bytes .../python3.11/site-packages/dateutil/_common.py | 43 - .../python3.11/site-packages/dateutil/_version.py | 4 - .../python3.11/site-packages/dateutil/easter.py | 89 - .../site-packages/dateutil/parser/__init__.py | 61 - .../parser/__pycache__/__init__.cpython-311.pyc | Bin 3145 -> 0 bytes .../parser/__pycache__/_parser.cpython-311.pyc | Bin 69795 -> 0 bytes .../parser/__pycache__/isoparser.cpython-311.pyc | Bin 17352 -> 0 bytes .../site-packages/dateutil/parser/_parser.py | 1613 - .../site-packages/dateutil/parser/isoparser.py | 416 - .../site-packages/dateutil/relativedelta.py | 599 - .../lib/python3.11/site-packages/dateutil/rrule.py | 1737 - .../site-packages/dateutil/tz/__init__.py | 12 - .../tz/__pycache__/__init__.cpython-311.pyc | Bin 814 -> 0 bytes .../tz/__pycache__/_common.cpython-311.pyc | Bin 15252 -> 0 bytes .../tz/__pycache__/_factories.cpython-311.pyc | Bin 5211 -> 0 bytes .../dateutil/tz/__pycache__/tz.cpython-311.pyc | Bin 70490 -> 0 bytes .../dateutil/tz/__pycache__/win.cpython-311.pyc | Bin 18400 -> 0 bytes .../site-packages/dateutil/tz/_common.py | 419 - .../site-packages/dateutil/tz/_factories.py | 80 - .../lib/python3.11/site-packages/dateutil/tz/tz.py | 1849 - .../python3.11/site-packages/dateutil/tz/win.py | 370 - .../lib/python3.11/site-packages/dateutil/tzwin.py | 2 - .../lib/python3.11/site-packages/dateutil/utils.py | 71 - .../site-packages/dateutil/zoneinfo/__init__.py | 167 - .../zoneinfo/__pycache__/__init__.cpython-311.pyc | Bin 8466 -> 0 bytes .../zoneinfo/__pycache__/rebuild.cpython-311.pyc | Bin 4636 -> 0 bytes .../dateutil/zoneinfo/dateutil-zoneinfo.tar.gz | Bin 156400 -> 0 bytes .../site-packages/dateutil/zoneinfo/rebuild.py | 75 - .../site-packages/distutils-precedence.pth | 1 - .../python3.11/site-packages/dotenv/__init__.py | 49 - .../python3.11/site-packages/dotenv/__main__.py | 6 - .../dotenv/__pycache__/__init__.cpython-311.pyc | Bin 2033 -> 0 bytes .../dotenv/__pycache__/__main__.cpython-311.pyc | Bin 397 -> 0 bytes .../dotenv/__pycache__/cli.cpython-311.pyc | Bin 10861 -> 0 bytes .../dotenv/__pycache__/ipython.cpython-311.pyc | Bin 2313 -> 0 bytes .../dotenv/__pycache__/main.cpython-311.pyc | Bin 18150 -> 0 bytes .../dotenv/__pycache__/parser.cpython-311.pyc | Bin 11370 -> 0 bytes .../dotenv/__pycache__/variables.cpython-311.pyc | Bin 5531 -> 0 bytes .../dotenv/__pycache__/version.cpython-311.pyc | Bin 209 -> 0 bytes venv/lib/python3.11/site-packages/dotenv/cli.py | 199 - .../lib/python3.11/site-packages/dotenv/ipython.py | 39 - venv/lib/python3.11/site-packages/dotenv/main.py | 392 - venv/lib/python3.11/site-packages/dotenv/parser.py | 175 - venv/lib/python3.11/site-packages/dotenv/py.typed | 1 - .../python3.11/site-packages/dotenv/variables.py | 86 - .../lib/python3.11/site-packages/dotenv/version.py | 1 - .../site-packages/editorconfig/__init__.py | 18 - .../site-packages/editorconfig/__main__.py | 82 - .../__pycache__/__init__.cpython-311.pyc | Bin 947 -> 0 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 4419 -> 0 bytes .../__pycache__/compat.cpython-311.pyc | Bin 1107 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 1614 -> 0 bytes .../__pycache__/fnmatch.cpython-311.pyc | Bin 7505 -> 0 bytes .../__pycache__/handler.cpython-311.pyc | Bin 5119 -> 0 bytes .../editorconfig/__pycache__/ini.cpython-311.pyc | Bin 7410 -> 0 bytes .../__pycache__/version.cpython-311.pyc | Bin 228 -> 0 bytes .../__pycache__/versiontools.cpython-311.pyc | Bin 1612 -> 0 bytes .../site-packages/editorconfig/compat.py | 24 - .../site-packages/editorconfig/exceptions.py | 27 - .../site-packages/editorconfig/fnmatch.py | 223 - .../site-packages/editorconfig/handler.py | 127 - .../python3.11/site-packages/editorconfig/ini.py | 183 - .../site-packages/editorconfig/version.py | 1 - .../site-packages/editorconfig/versiontools.py | 35 - .../lib/python3.11/site-packages/faker/__init__.py | 7 - .../lib/python3.11/site-packages/faker/__main__.py | 4 - .../faker/__pycache__/__init__.cpython-311.pyc | Bin 429 -> 0 bytes .../faker/__pycache__/__main__.cpython-311.pyc | Bin 346 -> 0 bytes .../faker/__pycache__/cli.cpython-311.pyc | Bin 12450 -> 0 bytes .../faker/__pycache__/config.cpython-311.pyc | Bin 774 -> 0 bytes .../faker/__pycache__/documentor.cpython-311.pyc | Bin 6195 -> 0 bytes .../faker/__pycache__/exceptions.cpython-311.pyc | Bin 1559 -> 0 bytes .../faker/__pycache__/factory.cpython-311.pyc | Bin 4602 -> 0 bytes .../faker/__pycache__/generator.cpython-311.pyc | Bin 10816 -> 0 bytes .../faker/__pycache__/proxy.cpython-311.pyc | Bin 21783 -> 0 bytes .../faker/__pycache__/typing.cpython-311.pyc | Bin 1648 -> 0 bytes venv/lib/python3.11/site-packages/faker/cli.py | 295 - venv/lib/python3.11/site-packages/faker/config.py | 13 - .../site-packages/faker/contrib/__init__.py | 0 .../contrib/__pycache__/__init__.cpython-311.pyc | Bin 197 -> 0 bytes .../site-packages/faker/contrib/pytest/__init__.py | 0 .../pytest/__pycache__/__init__.cpython-311.pyc | Bin 204 -> 0 bytes .../pytest/__pycache__/plugin.cpython-311.pyc | Bin 1876 -> 0 bytes .../site-packages/faker/contrib/pytest/plugin.py | 38 - .../site-packages/faker/decode/__init__.py | 13 - .../decode/__pycache__/__init__.cpython-311.pyc | Bin 663 -> 0 bytes .../faker/decode/__pycache__/codes.cpython-311.pyc | Bin 348870 -> 0 bytes .../python3.11/site-packages/faker/decode/codes.py | 65538 ------------------- .../python3.11/site-packages/faker/documentor.py | 127 - .../python3.11/site-packages/faker/exceptions.py | 16 - venv/lib/python3.11/site-packages/faker/factory.py | 115 - .../python3.11/site-packages/faker/generator.py | 191 - .../site-packages/faker/providers/__init__.py | 735 - .../providers/__pycache__/__init__.cpython-311.pyc | Bin 32922 -> 0 bytes .../faker/providers/address/__init__.py | 102 - .../address/__pycache__/__init__.cpython-311.pyc | Bin 7275 -> 0 bytes .../faker/providers/address/az_AZ/__init__.py | 691 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 13197 -> 0 bytes .../faker/providers/address/bn_BD/__init__.py | 547 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 19024 -> 0 bytes .../faker/providers/address/cs_CZ/__init__.py | 1202 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 20125 -> 0 bytes .../faker/providers/address/da_DK/__init__.py | 2522 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 28634 -> 0 bytes .../faker/providers/address/de/__init__.py | 253 - .../de/__pycache__/__init__.cpython-311.pyc | Bin 3696 -> 0 bytes .../faker/providers/address/de_AT/__init__.py | 268 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 5155 -> 0 bytes .../faker/providers/address/de_CH/__init__.py | 247 - .../de_CH/__pycache__/__init__.cpython-311.pyc | Bin 4390 -> 0 bytes .../faker/providers/address/de_DE/__init__.py | 471 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 7368 -> 0 bytes .../faker/providers/address/el_GR/__init__.py | 4952 -- .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 115511 -> 0 bytes .../faker/providers/address/en/__init__.py | 251 - .../en/__pycache__/__init__.cpython-311.pyc | Bin 3619 -> 0 bytes .../faker/providers/address/en_AU/__init__.py | 342 - .../en_AU/__pycache__/__init__.cpython-311.pyc | Bin 4592 -> 0 bytes .../faker/providers/address/en_BD/__init__.py | 547 - .../en_BD/__pycache__/__init__.cpython-311.pyc | Bin 9312 -> 0 bytes .../faker/providers/address/en_CA/__init__.py | 417 - .../en_CA/__pycache__/__init__.cpython-311.pyc | Bin 7975 -> 0 bytes .../faker/providers/address/en_GB/__init__.py | 550 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 7392 -> 0 bytes .../faker/providers/address/en_IE/__init__.py | 61 - .../en_IE/__pycache__/__init__.cpython-311.pyc | Bin 2021 -> 0 bytes .../faker/providers/address/en_IN/__init__.py | 400 - .../en_IN/__pycache__/__init__.cpython-311.pyc | Bin 5276 -> 0 bytes .../faker/providers/address/en_NZ/__init__.py | 340 - .../en_NZ/__pycache__/__init__.cpython-311.pyc | Bin 5286 -> 0 bytes .../faker/providers/address/en_PH/__init__.py | 1799 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 37340 -> 0 bytes .../faker/providers/address/en_US/__init__.py | 599 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 12381 -> 0 bytes .../faker/providers/address/es/__init__.py | 200 - .../es/__pycache__/__init__.cpython-311.pyc | Bin 3002 -> 0 bytes .../faker/providers/address/es_AR/__init__.py | 231 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 8858 -> 0 bytes .../faker/providers/address/es_CL/__init__.py | 648 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 27170 -> 0 bytes .../faker/providers/address/es_CO/__init__.py | 1334 - .../es_CO/__pycache__/__init__.cpython-311.pyc | Bin 32291 -> 0 bytes .../faker/providers/address/es_ES/__init__.py | 140 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 3785 -> 0 bytes .../faker/providers/address/es_MX/__init__.py | 163 - .../es_MX/__pycache__/__init__.cpython-311.pyc | Bin 4882 -> 0 bytes .../faker/providers/address/fa_IR/__init__.py | 296 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 7066 -> 0 bytes .../faker/providers/address/fi_FI/__init__.py | 800 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 10223 -> 0 bytes .../faker/providers/address/fil_PH/__init__.py | 7 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 580 -> 0 bytes .../faker/providers/address/fr_CA/__init__.py | 81 - .../fr_CA/__pycache__/__init__.cpython-311.pyc | Bin 2085 -> 0 bytes .../faker/providers/address/fr_CH/__init__.py | 367 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 6770 -> 0 bytes .../faker/providers/address/fr_FR/__init__.py | 478 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 9390 -> 0 bytes .../faker/providers/address/he_IL/__init__.py | 623 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 12634 -> 0 bytes .../faker/providers/address/hi_IN/__init__.py | 244 - .../hi_IN/__pycache__/__init__.cpython-311.pyc | Bin 6831 -> 0 bytes .../faker/providers/address/hr_HR/__init__.py | 588 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 8539 -> 0 bytes .../faker/providers/address/hu_HU/__init__.py | 479 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 9782 -> 0 bytes .../faker/providers/address/hy_AM/__init__.py | 686 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 18022 -> 0 bytes .../faker/providers/address/id_ID/__init__.py | 526 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 7768 -> 0 bytes .../faker/providers/address/it_IT/__init__.py | 17645 ----- .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 733636 -> 0 bytes .../faker/providers/address/ja_JP/__init__.py | 646 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 13946 -> 0 bytes .../faker/providers/address/ka_GE/__init__.py | 1297 - .../ka_GE/__pycache__/__init__.cpython-311.pyc | Bin 45188 -> 0 bytes .../faker/providers/address/ko_KR/__init__.py | 605 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 15533 -> 0 bytes .../faker/providers/address/ne_NP/__init__.py | 621 - .../ne_NP/__pycache__/__init__.cpython-311.pyc | Bin 17994 -> 0 bytes .../faker/providers/address/nl_BE/__init__.py | 3047 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 36309 -> 0 bytes .../faker/providers/address/nl_NL/__init__.py | 2737 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 31538 -> 0 bytes .../faker/providers/address/no_NO/__init__.py | 114 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 2773 -> 0 bytes .../faker/providers/address/pl_PL/__init__.py | 696 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 11160 -> 0 bytes .../faker/providers/address/pt_BR/__init__.py | 935 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 16786 -> 0 bytes .../faker/providers/address/pt_PT/__init__.py | 1592 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 21646 -> 0 bytes .../faker/providers/address/ro_RO/__init__.py | 438 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 7198 -> 0 bytes .../faker/providers/address/ru_RU/__init__.py | 1597 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 39118 -> 0 bytes .../faker/providers/address/sk_SK/__init__.py | 5266 -- .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 79807 -> 0 bytes .../faker/providers/address/sl_SI/__init__.py | 1601 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 29353 -> 0 bytes .../faker/providers/address/sv_SE/__init__.py | 375 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 5695 -> 0 bytes .../faker/providers/address/ta_IN/__init__.py | 429 - .../ta_IN/__pycache__/__init__.cpython-311.pyc | Bin 14107 -> 0 bytes .../faker/providers/address/th/__init__.py | 251 - .../th/__pycache__/__init__.cpython-311.pyc | Bin 8427 -> 0 bytes .../faker/providers/address/th_TH/__init__.py | 390 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 10855 -> 0 bytes .../faker/providers/address/tl_PH/__init__.py | 7 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 579 -> 0 bytes .../faker/providers/address/uk_UA/__init__.py | 2250 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 60060 -> 0 bytes .../faker/providers/address/zh_CN/__init__.py | 449 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 8086 -> 0 bytes .../faker/providers/address/zh_TW/__init__.py | 388 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 7454 -> 0 bytes .../faker/providers/automotive/__init__.py | 63 - .../__pycache__/__init__.cpython-311.pyc | Bin 3672 -> 0 bytes .../faker/providers/automotive/ar_BH/__init__.py | 12 - .../ar_BH/__pycache__/__init__.cpython-311.pyc | Bin 710 -> 0 bytes .../faker/providers/automotive/ar_JO/__init__.py | 53 - .../ar_JO/__pycache__/__init__.cpython-311.pyc | Bin 1570 -> 0 bytes .../faker/providers/automotive/ar_PS/__init__.py | 64 - .../ar_PS/__pycache__/__init__.cpython-311.pyc | Bin 1719 -> 0 bytes .../faker/providers/automotive/ar_SA/__init__.py | 89 - .../ar_SA/__pycache__/__init__.cpython-311.pyc | Bin 4101 -> 0 bytes .../faker/providers/automotive/az_AZ/__init__.py | 97 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1874 -> 0 bytes .../faker/providers/automotive/bn_BD/__init__.py | 253 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 6196 -> 0 bytes .../faker/providers/automotive/da_DK/__init__.py | 9 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 705 -> 0 bytes .../faker/providers/automotive/de_CH/__init__.py | 44 - .../de_CH/__pycache__/__init__.cpython-311.pyc | Bin 1484 -> 0 bytes .../faker/providers/automotive/de_DE/__init__.py | 430 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 3169 -> 0 bytes .../faker/providers/automotive/el_GR/__init__.py | 23 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 1366 -> 0 bytes .../faker/providers/automotive/en_CA/__init__.py | 45 - .../en_CA/__pycache__/__init__.cpython-311.pyc | Bin 888 -> 0 bytes .../faker/providers/automotive/en_GB/__init__.py | 15 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 733 -> 0 bytes .../faker/providers/automotive/en_NZ/__init__.py | 32 - .../en_NZ/__pycache__/__init__.cpython-311.pyc | Bin 831 -> 0 bytes .../faker/providers/automotive/en_PH/__init__.py | 70 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 3860 -> 0 bytes .../faker/providers/automotive/en_US/__init__.py | 168 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 1473 -> 0 bytes .../faker/providers/automotive/es_AR/__init__.py | 87 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 3205 -> 0 bytes .../faker/providers/automotive/es_CL/__init__.py | 66 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 3692 -> 0 bytes .../faker/providers/automotive/es_CO/__init__.py | 16 - .../es_CO/__pycache__/__init__.cpython-311.pyc | Bin 757 -> 0 bytes .../faker/providers/automotive/es_ES/__init__.py | 126 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 3736 -> 0 bytes .../faker/providers/automotive/et_EE/__init__.py | 12 - .../et_EE/__pycache__/__init__.cpython-311.pyc | Bin 711 -> 0 bytes .../faker/providers/automotive/fi_FI/__init__.py | 12 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 711 -> 0 bytes .../faker/providers/automotive/fil_PH/__init__.py | 10 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 660 -> 0 bytes .../faker/providers/automotive/fr_FR/__init__.py | 17 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 725 -> 0 bytes .../faker/providers/automotive/he_IL/__init__.py | 11 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 632 -> 0 bytes .../faker/providers/automotive/hu_HU/__init__.py | 12 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 712 -> 0 bytes .../faker/providers/automotive/id_ID/__init__.py | 16 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 696 -> 0 bytes .../faker/providers/automotive/it_IT/__init__.py | 15 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 710 -> 0 bytes .../faker/providers/automotive/lt_LT/__init__.py | 12 - .../lt_LT/__pycache__/__init__.cpython-311.pyc | Bin 713 -> 0 bytes .../faker/providers/automotive/nl_BE/__init__.py | 16 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 704 -> 0 bytes .../faker/providers/automotive/nl_NL/__init__.py | 77 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 3062 -> 0 bytes .../faker/providers/automotive/no_NO/__init__.py | 15 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 712 -> 0 bytes .../faker/providers/automotive/pl_PL/__init__.py | 39 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 1778 -> 0 bytes .../faker/providers/automotive/pt_BR/__init__.py | 7 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 612 -> 0 bytes .../faker/providers/automotive/pt_PT/__init__.py | 18 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 744 -> 0 bytes .../faker/providers/automotive/ro_RO/__init__.py | 66 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 1405 -> 0 bytes .../faker/providers/automotive/ru_RU/__init__.py | 321 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 4461 -> 0 bytes .../faker/providers/automotive/sk_SK/__init__.py | 100 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 1649 -> 0 bytes .../faker/providers/automotive/sq_AL/__init__.py | 12 - .../sq_AL/__pycache__/__init__.cpython-311.pyc | Bin 712 -> 0 bytes .../faker/providers/automotive/sv_SE/__init__.py | 18 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 793 -> 0 bytes .../faker/providers/automotive/th_TH/__init__.py | 39 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 1671 -> 0 bytes .../faker/providers/automotive/tl_PH/__init__.py | 10 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 658 -> 0 bytes .../faker/providers/automotive/tr_TR/__init__.py | 33 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 1791 -> 0 bytes .../faker/providers/automotive/uk_UA/__init__.py | 291 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 7681 -> 0 bytes .../faker/providers/automotive/vi_VN/__init__.py | 24 - .../vi_VN/__pycache__/__init__.cpython-311.pyc | Bin 1477 -> 0 bytes .../faker/providers/automotive/zh_CN/__init__.py | 47 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 1528 -> 0 bytes .../faker/providers/automotive/zh_TW/__init__.py | 19 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 739 -> 0 bytes .../site-packages/faker/providers/bank/__init__.py | 155 - .../bank/__pycache__/__init__.cpython-311.pyc | Bin 9171 -> 0 bytes .../faker/providers/bank/az_AZ/__init__.py | 40 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1297 -> 0 bytes .../faker/providers/bank/bn_BD/__init__.py | 83 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 2510 -> 0 bytes .../faker/providers/bank/cs_CZ/__init__.py | 11 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 716 -> 0 bytes .../faker/providers/bank/da_DK/__init__.py | 8 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 622 -> 0 bytes .../faker/providers/bank/de_AT/__init__.py | 8 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 622 -> 0 bytes .../faker/providers/bank/de_CH/__init__.py | 8 - .../de_CH/__pycache__/__init__.cpython-311.pyc | Bin 623 -> 0 bytes .../faker/providers/bank/de_DE/__init__.py | 21 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 1126 -> 0 bytes .../faker/providers/bank/el_GR/__init__.py | 8 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 629 -> 0 bytes .../faker/providers/bank/en_GB/__init__.py | 8 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 624 -> 0 bytes .../faker/providers/bank/en_IE/__init__.py | 8 - .../en_IE/__pycache__/__init__.cpython-311.pyc | Bin 629 -> 0 bytes .../faker/providers/bank/en_IN/__init__.py | 47 - .../en_IN/__pycache__/__init__.cpython-311.pyc | Bin 1453 -> 0 bytes .../faker/providers/bank/en_PH/__init__.py | 109 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 3031 -> 0 bytes .../faker/providers/bank/es_AR/__init__.py | 36 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 1522 -> 0 bytes .../faker/providers/bank/es_ES/__init__.py | 8 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 626 -> 0 bytes .../faker/providers/bank/es_MX/__init__.py | 283 - .../es_MX/__pycache__/__init__.cpython-311.pyc | Bin 7892 -> 0 bytes .../faker/providers/bank/fa_IR/__init__.py | 60 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 2078 -> 0 bytes .../faker/providers/bank/fi_FI/__init__.py | 8 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 620 -> 0 bytes .../faker/providers/bank/fil_PH/__init__.py | 10 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 642 -> 0 bytes .../faker/providers/bank/fr_CH/__init__.py | 10 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 640 -> 0 bytes .../faker/providers/bank/fr_FR/__init__.py | 8 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 629 -> 0 bytes .../faker/providers/bank/it_CH/__init__.py | 10 - .../it_CH/__pycache__/__init__.cpython-311.pyc | Bin 640 -> 0 bytes .../faker/providers/bank/it_IT/__init__.py | 8 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 629 -> 0 bytes .../faker/providers/bank/nl_BE/__init__.py | 68 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 1531 -> 0 bytes .../faker/providers/bank/nl_NL/__init__.py | 8 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 620 -> 0 bytes .../faker/providers/bank/no_NO/__init__.py | 8 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 617 -> 0 bytes .../faker/providers/bank/pl_PL/__init__.py | 8 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 630 -> 0 bytes .../faker/providers/bank/pt_PT/__init__.py | 8 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 627 -> 0 bytes .../faker/providers/bank/ro_RO/__init__.py | 50 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 920 -> 0 bytes .../faker/providers/bank/ru_RU/__init__.py | 759 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 18438 -> 0 bytes .../faker/providers/bank/sk_SK/__init__.py | 11 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 716 -> 0 bytes .../faker/providers/bank/th_TH/__init__.py | 64 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 1001 -> 0 bytes .../faker/providers/bank/tl_PH/__init__.py | 10 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 640 -> 0 bytes .../faker/providers/bank/tr_TR/__init__.py | 8 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 628 -> 0 bytes .../faker/providers/bank/uk_UA/__init__.py | 87 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 3086 -> 0 bytes .../faker/providers/bank/zh_CN/__init__.py | 37 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 1401 -> 0 bytes .../faker/providers/barcode/__init__.py | 122 - .../barcode/__pycache__/__init__.cpython-311.pyc | Bin 6566 -> 0 bytes .../faker/providers/barcode/en_CA/__init__.py | 24 - .../en_CA/__pycache__/__init__.cpython-311.pyc | Bin 1126 -> 0 bytes .../faker/providers/barcode/en_US/__init__.py | 249 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 14194 -> 0 bytes .../faker/providers/barcode/es_ES/__init__.py | 12 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 684 -> 0 bytes .../faker/providers/barcode/fr_CA/__init__.py | 10 - .../fr_CA/__pycache__/__init__.cpython-311.pyc | Bin 641 -> 0 bytes .../faker/providers/barcode/ja_JP/__init__.py | 49 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 2360 -> 0 bytes .../faker/providers/color/__init__.py | 282 - .../color/__pycache__/__init__.cpython-311.pyc | Bin 11068 -> 0 bytes .../color/__pycache__/color.cpython-311.pyc | Bin 16243 -> 0 bytes .../faker/providers/color/ar_PS/__init__.py | 170 - .../ar_PS/__pycache__/__init__.cpython-311.pyc | Bin 5342 -> 0 bytes .../faker/providers/color/az_AZ/__init__.py | 70 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1923 -> 0 bytes .../faker/providers/color/bg_BG/__init__.py | 86 - .../bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 2956 -> 0 bytes .../faker/providers/color/bn_BD/__init__.py | 172 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 7356 -> 0 bytes .../site-packages/faker/providers/color/color.py | 386 - .../faker/providers/color/cs_CZ/__init__.py | 23 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 794 -> 0 bytes .../faker/providers/color/da_DK/__init__.py | 334 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 8638 -> 0 bytes .../faker/providers/color/el_GR/__init__.py | 113 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 3470 -> 0 bytes .../faker/providers/color/en_US/__init__.py | 7 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 559 -> 0 bytes .../faker/providers/color/es/__init__.py | 169 - .../color/es/__pycache__/__init__.cpython-311.pyc | Bin 4408 -> 0 bytes .../faker/providers/color/es_CL/__init__.py | 7 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 515 -> 0 bytes .../faker/providers/color/es_ES/__init__.py | 7 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 515 -> 0 bytes .../faker/providers/color/fa_IR/__init__.py | 175 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 5418 -> 0 bytes .../faker/providers/color/fr_FR/__init__.py | 167 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 4298 -> 0 bytes .../faker/providers/color/he_IL/__init__.py | 49 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 1342 -> 0 bytes .../faker/providers/color/hr_HR/__init__.py | 172 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 4570 -> 0 bytes .../faker/providers/color/hu_HU/__init__.py | 23 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 756 -> 0 bytes .../faker/providers/color/hy_AM/__init__.py | 168 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 6826 -> 0 bytes .../faker/providers/color/id_ID/__init__.py | 60 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 1423 -> 0 bytes .../faker/providers/color/pt_BR/__init__.py | 261 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 6497 -> 0 bytes .../faker/providers/color/ru_RU/__init__.py | 86 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 3002 -> 0 bytes .../faker/providers/color/sk_SK/__init__.py | 23 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 787 -> 0 bytes .../faker/providers/color/th_TH/__init__.py | 52 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 1591 -> 0 bytes .../faker/providers/color/uk_UA/__init__.py | 222 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 9120 -> 0 bytes .../faker/providers/company/__init__.py | 531 - .../company/__pycache__/__init__.cpython-311.pyc | Bin 8517 -> 0 bytes .../faker/providers/company/az_AZ/__init__.py | 52 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1519 -> 0 bytes .../faker/providers/company/bg_BG/__init__.py | 30 - .../bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 786 -> 0 bytes .../faker/providers/company/bn_BD/__init__.py | 640 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 23088 -> 0 bytes .../faker/providers/company/cs_CZ/__init__.py | 19 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 682 -> 0 bytes .../faker/providers/company/da_DK/__init__.py | 14 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 689 -> 0 bytes .../faker/providers/company/de_DE/__init__.py | 38 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 874 -> 0 bytes .../faker/providers/company/el_GR/__init__.py | 11 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 829 -> 0 bytes .../faker/providers/company/en_PH/__init__.py | 147 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 4192 -> 0 bytes .../faker/providers/company/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 496 -> 0 bytes .../faker/providers/company/es_CL/__init__.py | 442 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 6835 -> 0 bytes .../faker/providers/company/es_ES/__init__.py | 127 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 4218 -> 0 bytes .../faker/providers/company/es_MX/__init__.py | 439 - .../es_MX/__pycache__/__init__.cpython-311.pyc | Bin 6599 -> 0 bytes .../faker/providers/company/fa_IR/__init__.py | 1113 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 42576 -> 0 bytes .../faker/providers/company/fi_FI/__init__.py | 66 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 3216 -> 0 bytes .../faker/providers/company/fil_PH/__init__.py | 94 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 3816 -> 0 bytes .../faker/providers/company/fr_CH/__init__.py | 40 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 2262 -> 0 bytes .../faker/providers/company/fr_FR/__init__.py | 148 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 5891 -> 0 bytes .../faker/providers/company/hr_HR/__init__.py | 15 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 672 -> 0 bytes .../faker/providers/company/hu_HU/__init__.py | 15 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 1039 -> 0 bytes .../faker/providers/company/hy_AM/__init__.py | 283 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 7049 -> 0 bytes .../faker/providers/company/id_ID/__init__.py | 32 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 1094 -> 0 bytes .../faker/providers/company/it_IT/__init__.py | 375 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 5963 -> 0 bytes .../faker/providers/company/ja_JP/__init__.py | 31 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 1393 -> 0 bytes .../faker/providers/company/ko_KR/__init__.py | 372 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 5963 -> 0 bytes .../faker/providers/company/nl_BE/__init__.py | 10 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 723 -> 0 bytes .../faker/providers/company/nl_NL/__init__.py | 521 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 7572 -> 0 bytes .../faker/providers/company/no_NO/__init__.py | 22 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 796 -> 0 bytes .../faker/providers/company/pl_PL/__init__.py | 149 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 6671 -> 0 bytes .../faker/providers/company/pt_BR/__init__.py | 111 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 5412 -> 0 bytes .../faker/providers/company/pt_PT/__init__.py | 53 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 1258 -> 0 bytes .../faker/providers/company/ro_RO/__init__.py | 34 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 1007 -> 0 bytes .../faker/providers/company/ru_RU/__init__.py | 1170 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 39090 -> 0 bytes .../faker/providers/company/sk_SK/__init__.py | 16 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 676 -> 0 bytes .../faker/providers/company/sl_SI/__init__.py | 13 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 634 -> 0 bytes .../faker/providers/company/sv_SE/__init__.py | 14 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 691 -> 0 bytes .../faker/providers/company/th_TH/__init__.py | 126 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 4513 -> 0 bytes .../faker/providers/company/tl_PH/__init__.py | 7 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 574 -> 0 bytes .../faker/providers/company/tr_TR/__init__.py | 123 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 3105 -> 0 bytes .../faker/providers/company/zh_CN/__init__.py | 95 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 2374 -> 0 bytes .../faker/providers/company/zh_TW/__init__.py | 113 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 2966 -> 0 bytes .../faker/providers/credit_card/__init__.py | 213 - .../__pycache__/__init__.cpython-311.pyc | Bin 9421 -> 0 bytes .../faker/providers/credit_card/en_US/__init__.py | 7 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 577 -> 0 bytes .../faker/providers/credit_card/fa_IR/__init__.py | 123 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 5111 -> 0 bytes .../faker/providers/credit_card/pt_PT/__init__.py | 298 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 3535 -> 0 bytes .../faker/providers/credit_card/ru_RU/__init__.py | 115 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 3617 -> 0 bytes .../faker/providers/credit_card/uk_UA/__init__.py | 58 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 3033 -> 0 bytes .../faker/providers/currency/__init__.py | 426 - .../currency/__pycache__/__init__.cpython-311.pyc | Bin 13263 -> 0 bytes .../faker/providers/currency/az_AZ/__init__.py | 178 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 5500 -> 0 bytes .../faker/providers/currency/bn_BD/__init__.py | 231 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 12617 -> 0 bytes .../faker/providers/currency/cs_CZ/__init__.py | 8 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 931 -> 0 bytes .../faker/providers/currency/da_DK/__init__.py | 8 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 893 -> 0 bytes .../faker/providers/currency/de_AT/__init__.py | 8 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 931 -> 0 bytes .../faker/providers/currency/de_DE/__init__.py | 8 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 898 -> 0 bytes .../faker/providers/currency/el_GR/__init__.py | 158 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 6823 -> 0 bytes .../faker/providers/currency/en_AU/__init__.py | 8 - .../en_AU/__pycache__/__init__.cpython-311.pyc | Bin 928 -> 0 bytes .../faker/providers/currency/en_CA/__init__.py | 8 - .../en_CA/__pycache__/__init__.cpython-311.pyc | Bin 895 -> 0 bytes .../faker/providers/currency/en_US/__init__.py | 8 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 923 -> 0 bytes .../faker/providers/currency/es/__init__.py | 171 - .../es/__pycache__/__init__.cpython-311.pyc | Bin 4734 -> 0 bytes .../faker/providers/currency/es_AR/__init__.py | 8 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 935 -> 0 bytes .../faker/providers/currency/es_CL/__init__.py | 8 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 934 -> 0 bytes .../faker/providers/currency/es_ES/__init__.py | 8 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 933 -> 0 bytes .../faker/providers/currency/fa_IR/__init__.py | 8 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 956 -> 0 bytes .../faker/providers/currency/fr_CA/__init__.py | 8 - .../fr_CA/__pycache__/__init__.cpython-311.pyc | Bin 929 -> 0 bytes .../faker/providers/currency/fr_FR/__init__.py | 8 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 898 -> 0 bytes .../faker/providers/currency/it_IT/__init__.py | 8 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 898 -> 0 bytes .../faker/providers/currency/nl_NL/__init__.py | 8 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 952 -> 0 bytes .../faker/providers/currency/pl_PL/__init__.py | 8 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 931 -> 0 bytes .../faker/providers/currency/pt_BR/__init__.py | 8 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 924 -> 0 bytes .../faker/providers/currency/ro_RO/__init__.py | 8 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 931 -> 0 bytes .../faker/providers/currency/ru_RU/__init__.py | 179 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 7167 -> 0 bytes .../faker/providers/currency/sk_SK/__init__.py | 8 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 898 -> 0 bytes .../faker/providers/currency/sv_SE/__init__.py | 178 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 4193 -> 0 bytes .../faker/providers/currency/th_TH/__init__.py | 186 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 9340 -> 0 bytes .../faker/providers/currency/tr_TR/__init__.py | 8 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 933 -> 0 bytes .../faker/providers/date_time/__init__.py | 2513 - .../date_time/__pycache__/__init__.cpython-311.pyc | Bin 69519 -> 0 bytes .../faker/providers/date_time/ar_AA/__init__.py | 1765 - .../ar_AA/__pycache__/__init__.cpython-311.pyc | Bin 41607 -> 0 bytes .../faker/providers/date_time/ar_EG/__init__.py | 18 - .../ar_EG/__pycache__/__init__.cpython-311.pyc | Bin 837 -> 0 bytes .../faker/providers/date_time/az_AZ/__init__.py | 36 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1429 -> 0 bytes .../faker/providers/date_time/bn_BD/__init__.py | 1740 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 51685 -> 0 bytes .../faker/providers/date_time/cs_CZ/__init__.py | 36 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 1425 -> 0 bytes .../faker/providers/date_time/da_DK/__init__.py | 36 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 1381 -> 0 bytes .../faker/providers/date_time/de_AT/__init__.py | 36 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 1388 -> 0 bytes .../faker/providers/date_time/de_DE/__init__.py | 36 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 1384 -> 0 bytes .../faker/providers/date_time/el_GR/__init__.py | 36 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 1615 -> 0 bytes .../faker/providers/date_time/en_PH/__init__.py | 7 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 564 -> 0 bytes .../faker/providers/date_time/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 500 -> 0 bytes .../faker/providers/date_time/es/__init__.py | 36 - .../es/__pycache__/__init__.cpython-311.pyc | Bin 1384 -> 0 bytes .../faker/providers/date_time/es_AR/__init__.py | 5 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 502 -> 0 bytes .../faker/providers/date_time/es_CL/__init__.py | 5 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 502 -> 0 bytes .../faker/providers/date_time/es_ES/__init__.py | 5 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 502 -> 0 bytes .../faker/providers/date_time/fil_PH/__init__.py | 37 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 1444 -> 0 bytes .../faker/providers/date_time/fr_CA/__init__.py | 8 - .../fr_CA/__pycache__/__init__.cpython-311.pyc | Bin 926 -> 0 bytes .../faker/providers/date_time/fr_FR/__init__.py | 35 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 1435 -> 0 bytes .../faker/providers/date_time/hi_IN/__init__.py | 36 - .../hi_IN/__pycache__/__init__.cpython-311.pyc | Bin 1645 -> 0 bytes .../faker/providers/date_time/hr_HR/__init__.py | 34 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 1422 -> 0 bytes .../faker/providers/date_time/hu_HU/__init__.py | 36 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 1447 -> 0 bytes .../faker/providers/date_time/hy_AM/__init__.py | 36 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 1587 -> 0 bytes .../faker/providers/date_time/id_ID/__init__.py | 36 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 1384 -> 0 bytes .../faker/providers/date_time/it_IT/__init__.py | 36 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 1408 -> 0 bytes .../faker/providers/date_time/ja_JP/__init__.py | 54 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 2019 -> 0 bytes .../faker/providers/date_time/ko_KR/__init__.py | 34 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 1444 -> 0 bytes .../faker/providers/date_time/nl_NL/__init__.py | 36 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 1384 -> 0 bytes .../faker/providers/date_time/no_NO/__init__.py | 35 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 1428 -> 0 bytes .../faker/providers/date_time/pl_PL/__init__.py | 36 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 1429 -> 0 bytes .../faker/providers/date_time/pt_BR/__init__.py | 36 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 1417 -> 0 bytes .../faker/providers/date_time/pt_PT/__init__.py | 36 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 1417 -> 0 bytes .../faker/providers/date_time/ro_RO/__init__.py | 36 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 1383 -> 0 bytes .../faker/providers/date_time/ru_RU/__init__.py | 1640 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 36950 -> 0 bytes .../faker/providers/date_time/sk_SK/__init__.py | 36 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 1407 -> 0 bytes .../faker/providers/date_time/sl_SI/__init__.py | 36 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 1428 -> 0 bytes .../faker/providers/date_time/ta_IN/__init__.py | 37 - .../ta_IN/__pycache__/__init__.cpython-311.pyc | Bin 1712 -> 0 bytes .../faker/providers/date_time/th_TH/__init__.py | 340 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 10926 -> 0 bytes .../faker/providers/date_time/tl_PH/__init__.py | 7 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 577 -> 0 bytes .../faker/providers/date_time/tr_TR/__init__.py | 36 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 1403 -> 0 bytes .../faker/providers/date_time/zh_CN/__init__.py | 35 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 1503 -> 0 bytes .../faker/providers/date_time/zh_TW/__init__.py | 39 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 1816 -> 0 bytes .../faker/providers/emoji/__init__.py | 3523 - .../emoji/__pycache__/__init__.cpython-311.pyc | Bin 55684 -> 0 bytes .../faker/providers/emoji/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 492 -> 0 bytes .../site-packages/faker/providers/file/__init__.py | 354 - .../file/__pycache__/__init__.cpython-311.pyc | Bin 10782 -> 0 bytes .../faker/providers/file/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 490 -> 0 bytes .../site-packages/faker/providers/geo/__init__.py | 1049 - .../geo/__pycache__/__init__.cpython-311.pyc | Bin 48249 -> 0 bytes .../faker/providers/geo/bn_BD/__init__.py | 989 - .../geo/bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 70875 -> 0 bytes .../faker/providers/geo/cs_CZ/__init__.py | 156 - .../geo/cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 8327 -> 0 bytes .../faker/providers/geo/de_AT/__init__.py | 11 - .../geo/de_AT/__pycache__/__init__.cpython-311.pyc | Bin 1049 -> 0 bytes .../faker/providers/geo/el_GR/__init__.py | 28 - .../geo/el_GR/__pycache__/__init__.cpython-311.pyc | Bin 2910 -> 0 bytes .../faker/providers/geo/en_IE/__init__.py | 52 - .../geo/en_IE/__pycache__/__init__.cpython-311.pyc | Bin 2327 -> 0 bytes .../faker/providers/geo/en_US/__init__.py | 5 - .../geo/en_US/__pycache__/__init__.cpython-311.pyc | Bin 489 -> 0 bytes .../faker/providers/geo/pt_PT/__init__.py | 127 - .../geo/pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 2165 -> 0 bytes .../faker/providers/geo/tr_TR/__init__.py | 106 - .../geo/tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 4642 -> 0 bytes .../faker/providers/internet/__init__.py | 799 - .../internet/__pycache__/__init__.cpython-311.pyc | Bin 37483 -> 0 bytes .../faker/providers/internet/ar_AA/__init__.py | 53 - .../ar_AA/__pycache__/__init__.cpython-311.pyc | Bin 1089 -> 0 bytes .../faker/providers/internet/az_AZ/__init__.py | 38 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1222 -> 0 bytes .../faker/providers/internet/bg_BG/__init__.py | 112 - .../bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 1726 -> 0 bytes .../faker/providers/internet/bn_BD/__init__.py | 30 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 761 -> 0 bytes .../faker/providers/internet/bs_BA/__init__.py | 27 - .../bs_BA/__pycache__/__init__.cpython-311.pyc | Bin 830 -> 0 bytes .../faker/providers/internet/cs_CZ/__init__.py | 30 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 959 -> 0 bytes .../faker/providers/internet/de_AT/__init__.py | 21 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 735 -> 0 bytes .../faker/providers/internet/de_DE/__init__.py | 28 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 830 -> 0 bytes .../faker/providers/internet/el_GR/__init__.py | 81 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 4692 -> 0 bytes .../faker/providers/internet/en_AU/__init__.py | 24 - .../en_AU/__pycache__/__init__.cpython-311.pyc | Bin 679 -> 0 bytes .../faker/providers/internet/en_GB/__init__.py | 29 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 685 -> 0 bytes .../faker/providers/internet/en_NZ/__init__.py | 24 - .../en_NZ/__pycache__/__init__.cpython-311.pyc | Bin 693 -> 0 bytes .../faker/providers/internet/en_PH/__init__.py | 65 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 3020 -> 0 bytes .../faker/providers/internet/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 499 -> 0 bytes .../faker/providers/internet/es_AR/__init__.py | 21 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 800 -> 0 bytes .../faker/providers/internet/es_CL/__init__.py | 34 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 1571 -> 0 bytes .../faker/providers/internet/es_ES/__init__.py | 21 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 799 -> 0 bytes .../faker/providers/internet/fa_IR/__init__.py | 13 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 702 -> 0 bytes .../faker/providers/internet/fi_FI/__init__.py | 15 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 674 -> 0 bytes .../faker/providers/internet/fil_PH/__init__.py | 7 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 583 -> 0 bytes .../faker/providers/internet/fr_CH/__init__.py | 35 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 966 -> 0 bytes .../faker/providers/internet/fr_FR/__init__.py | 42 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 1057 -> 0 bytes .../faker/providers/internet/hr_HR/__init__.py | 33 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 869 -> 0 bytes .../faker/providers/internet/hu_HU/__init__.py | 31 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 767 -> 0 bytes .../faker/providers/internet/id_ID/__init__.py | 28 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 651 -> 0 bytes .../faker/providers/internet/it_IT/__init__.py | 36 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 959 -> 0 bytes .../faker/providers/internet/ja_JP/__init__.py | 17 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 1131 -> 0 bytes .../faker/providers/internet/ko_KR/__init__.py | 15 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 677 -> 0 bytes .../faker/providers/internet/no_NO/__init__.py | 20 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 751 -> 0 bytes .../faker/providers/internet/pl_PL/__init__.py | 26 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 791 -> 0 bytes .../faker/providers/internet/pt_BR/__init__.py | 27 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 881 -> 0 bytes .../faker/providers/internet/pt_PT/__init__.py | 7 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 686 -> 0 bytes .../faker/providers/internet/ro_RO/__init__.py | 30 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 952 -> 0 bytes .../faker/providers/internet/ru_RU/__init__.py | 100 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 1928 -> 0 bytes .../faker/providers/internet/sk_SK/__init__.py | 33 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 982 -> 0 bytes .../faker/providers/internet/sl_SI/__init__.py | 63 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 1191 -> 0 bytes .../faker/providers/internet/sv_SE/__init__.py | 23 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 773 -> 0 bytes .../faker/providers/internet/th_TH/__init__.py | 32 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 903 -> 0 bytes .../faker/providers/internet/tl_PH/__init__.py | 7 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 582 -> 0 bytes .../faker/providers/internet/tr_TR/__init__.py | 28 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 812 -> 0 bytes .../faker/providers/internet/uk_UA/__init__.py | 82 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 1551 -> 0 bytes .../faker/providers/internet/zh_CN/__init__.py | 103 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 3055 -> 0 bytes .../faker/providers/internet/zh_TW/__init__.py | 17 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 1100 -> 0 bytes .../site-packages/faker/providers/isbn/__init__.py | 72 - .../isbn/__pycache__/__init__.cpython-311.pyc | Bin 4288 -> 0 bytes .../isbn/__pycache__/isbn.cpython-311.pyc | Bin 6081 -> 0 bytes .../isbn/__pycache__/rules.cpython-311.pyc | Bin 2263 -> 0 bytes .../faker/providers/isbn/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 490 -> 0 bytes .../site-packages/faker/providers/isbn/isbn.py | 85 - .../site-packages/faker/providers/isbn/rules.py | 45 - .../site-packages/faker/providers/job/__init__.py | 650 - .../job/__pycache__/__init__.cpython-311.pyc | Bin 15463 -> 0 bytes .../faker/providers/job/ar_AA/__init__.py | 140 - .../job/ar_AA/__pycache__/__init__.cpython-311.pyc | Bin 3067 -> 0 bytes .../faker/providers/job/az_AZ/__init__.py | 112 - .../job/az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 2202 -> 0 bytes .../faker/providers/job/bn_BD/__init__.py | 649 - .../job/bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 40612 -> 0 bytes .../faker/providers/job/bs_BA/__init__.py | 4319 -- .../job/bs_BA/__pycache__/__init__.cpython-311.pyc | Bin 145525 -> 0 bytes .../faker/providers/job/da_DK/__init__.py | 962 - .../job/da_DK/__pycache__/__init__.cpython-311.pyc | Bin 17536 -> 0 bytes .../faker/providers/job/de_DE/__init__.py | 44 - .../job/de_DE/__pycache__/__init__.cpython-311.pyc | Bin 1059 -> 0 bytes .../faker/providers/job/el_GR/__init__.py | 451 - .../job/el_GR/__pycache__/__init__.cpython-311.pyc | Bin 23973 -> 0 bytes .../faker/providers/job/en_US/__init__.py | 5 - .../job/en_US/__pycache__/__init__.cpython-311.pyc | Bin 489 -> 0 bytes .../faker/providers/job/es/__init__.py | 483 - .../job/es/__pycache__/__init__.cpython-311.pyc | Bin 15521 -> 0 bytes .../faker/providers/job/es_AR/__init__.py | 5 - .../job/es_AR/__pycache__/__init__.cpython-311.pyc | Bin 491 -> 0 bytes .../faker/providers/job/es_CL/__init__.py | 5 - .../job/es_CL/__pycache__/__init__.cpython-311.pyc | Bin 491 -> 0 bytes .../faker/providers/job/es_CO/__init__.py | 5 - .../job/es_CO/__pycache__/__init__.cpython-311.pyc | Bin 491 -> 0 bytes .../faker/providers/job/es_ES/__init__.py | 5 - .../job/es_ES/__pycache__/__init__.cpython-311.pyc | Bin 491 -> 0 bytes .../faker/providers/job/es_MX/__init__.py | 5 - .../job/es_MX/__pycache__/__init__.cpython-311.pyc | Bin 491 -> 0 bytes .../faker/providers/job/fa_IR/__init__.py | 101 - .../job/fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 2211 -> 0 bytes .../faker/providers/job/fi_FI/__init__.py | 202 - .../job/fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 4594 -> 0 bytes .../faker/providers/job/fr_CH/__init__.py | 849 - .../job/fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 35667 -> 0 bytes .../faker/providers/job/fr_FR/__init__.py | 789 - .../job/fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 22890 -> 0 bytes .../faker/providers/job/hr_HR/__init__.py | 290 - .../job/hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 8524 -> 0 bytes .../faker/providers/job/hu_HU/__init__.py | 418 - .../job/hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 10572 -> 0 bytes .../faker/providers/job/hy_AM/__init__.py | 250 - .../job/hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 9597 -> 0 bytes .../faker/providers/job/ja_JP/__init__.py | 66 - .../job/ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 1680 -> 0 bytes .../faker/providers/job/ko_KR/__init__.py | 434 - .../job/ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 13944 -> 0 bytes .../faker/providers/job/pl_PL/__init__.py | 224 - .../job/pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 3943 -> 0 bytes .../faker/providers/job/pt_BR/__init__.py | 758 - .../job/pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 14192 -> 0 bytes .../faker/providers/job/pt_PT/__init__.py | 391 - .../job/pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 15869 -> 0 bytes .../faker/providers/job/ro_RO/__init__.py | 4045 -- .../job/ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 130233 -> 0 bytes .../faker/providers/job/ru_RU/__init__.py | 549 - .../job/ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 14215 -> 0 bytes .../faker/providers/job/sk_SK/__init__.py | 514 - .../job/sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 14423 -> 0 bytes .../faker/providers/job/th_TH/__init__.py | 93 - .../job/th_TH/__pycache__/__init__.cpython-311.pyc | Bin 3545 -> 0 bytes .../faker/providers/job/tr_TR/__init__.py | 738 - .../job/tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 11579 -> 0 bytes .../faker/providers/job/uk_UA/__init__.py | 185 - .../job/uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 3968 -> 0 bytes .../faker/providers/job/zh_CN/__init__.py | 1025 - .../job/zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 21694 -> 0 bytes .../faker/providers/job/zh_TW/__init__.py | 481 - .../job/zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 11368 -> 0 bytes .../faker/providers/lorem/__init__.py | 247 - .../lorem/__pycache__/__init__.cpython-311.pyc | Bin 12919 -> 0 bytes .../faker/providers/lorem/ar_AA/__init__.py | 705 - .../ar_AA/__pycache__/__init__.cpython-311.pyc | Bin 11748 -> 0 bytes .../faker/providers/lorem/az_AZ/__init__.py | 106 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1714 -> 0 bytes .../faker/providers/lorem/bn_BD/__init__.py | 237 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 5041 -> 0 bytes .../faker/providers/lorem/cs_CZ/__init__.py | 5039 -- .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 58324 -> 0 bytes .../faker/providers/lorem/da_DK/__init__.py | 1012 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 9849 -> 0 bytes .../faker/providers/lorem/de_AT/__init__.py | 9 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 614 -> 0 bytes .../faker/providers/lorem/de_DE/__init__.py | 527 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 4798 -> 0 bytes .../faker/providers/lorem/el_GR/__init__.py | 395 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 7798 -> 0 bytes .../faker/providers/lorem/en_PH/__init__.py | 82 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 4679 -> 0 bytes .../faker/providers/lorem/en_US/__init__.py | 3180 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 24151 -> 0 bytes .../faker/providers/lorem/fa_IR/__init__.py | 929 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 12091 -> 0 bytes .../faker/providers/lorem/fil_PH/__init__.py | 639 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 5713 -> 0 bytes .../faker/providers/lorem/fr_FR/__init__.py | 1482 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 13693 -> 0 bytes .../faker/providers/lorem/he_IL/__init__.py | 156 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 2892 -> 0 bytes .../faker/providers/lorem/hy_AM/__init__.py | 230 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 3797 -> 0 bytes .../faker/providers/lorem/ja_JP/__init__.py | 233 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 3890 -> 0 bytes .../faker/providers/lorem/la/__init__.py | 194 - .../lorem/la/__pycache__/__init__.cpython-311.pyc | Bin 2296 -> 0 bytes .../faker/providers/lorem/nl_BE/__init__.py | 1015 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 8512 -> 0 bytes .../faker/providers/lorem/nl_NL/__init__.py | 14 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 925 -> 0 bytes .../faker/providers/lorem/pl_PL/__init__.py | 2015 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 21793 -> 0 bytes .../faker/providers/lorem/ru_RU/__init__.py | 512 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 10068 -> 0 bytes .../faker/providers/lorem/th_TH/__init__.py | 426 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 9075 -> 0 bytes .../faker/providers/lorem/tl_PH/__init__.py | 13 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 749 -> 0 bytes .../faker/providers/lorem/uk_UA/__init__.py | 506 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 9777 -> 0 bytes .../faker/providers/lorem/zh_CN/__init__.py | 359 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 4596 -> 0 bytes .../faker/providers/lorem/zh_TW/__init__.py | 359 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 4596 -> 0 bytes .../site-packages/faker/providers/misc/__init__.py | 737 - .../misc/__pycache__/__init__.cpython-311.pyc | Bin 38768 -> 0 bytes .../faker/providers/misc/en_PH/__init__.py | 218 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 3695 -> 0 bytes .../faker/providers/misc/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 490 -> 0 bytes .../faker/providers/misc/fil_PH/__init__.py | 5 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 588 -> 0 bytes .../faker/providers/misc/tl_PH/__init__.py | 5 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 587 -> 0 bytes .../faker/providers/passport/__init__.py | 45 - .../passport/__pycache__/__init__.cpython-311.pyc | Bin 2836 -> 0 bytes .../faker/providers/passport/en_US/__init__.py | 99 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 5348 -> 0 bytes .../faker/providers/person/__init__.py | 330 - .../person/__pycache__/__init__.cpython-311.pyc | Bin 10978 -> 0 bytes .../faker/providers/person/ar_AA/__init__.py | 1096 - .../ar_AA/__pycache__/__init__.cpython-311.pyc | Bin 17652 -> 0 bytes .../faker/providers/person/ar_PS/__init__.py | 48 - .../ar_PS/__pycache__/__init__.cpython-311.pyc | Bin 1259 -> 0 bytes .../faker/providers/person/ar_SA/__init__.py | 50 - .../ar_SA/__pycache__/__init__.cpython-311.pyc | Bin 1354 -> 0 bytes .../faker/providers/person/az_AZ/__init__.py | 913 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 12528 -> 0 bytes .../faker/providers/person/bg_BG/__init__.py | 1767 - .../bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 31427 -> 0 bytes .../faker/providers/person/bn_BD/__init__.py | 608 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 17034 -> 0 bytes .../faker/providers/person/cs_CZ/__init__.py | 546 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 6999 -> 0 bytes .../faker/providers/person/da_DK/__init__.py | 633 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 5739 -> 0 bytes .../faker/providers/person/de_AT/__init__.py | 1571 - .../de_AT/__pycache__/__init__.cpython-311.pyc | Bin 14380 -> 0 bytes .../faker/providers/person/de_CH/__init__.py | 2239 - .../de_CH/__pycache__/__init__.cpython-311.pyc | Bin 19179 -> 0 bytes .../faker/providers/person/de_DE/__init__.py | 2468 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 22545 -> 0 bytes .../faker/providers/person/el_GR/__init__.py | 2310 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 49479 -> 0 bytes .../faker/providers/person/en/__init__.py | 7732 --- .../person/en/__pycache__/__init__.cpython-311.pyc | Bin 61245 -> 0 bytes .../faker/providers/person/en_GB/__init__.py | 910 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 11632 -> 0 bytes .../faker/providers/person/en_IE/__init__.py | 3140 - .../en_IE/__pycache__/__init__.cpython-311.pyc | Bin 27463 -> 0 bytes .../faker/providers/person/en_IN/__init__.py | 689 - .../en_IN/__pycache__/__init__.cpython-311.pyc | Bin 5694 -> 0 bytes .../faker/providers/person/en_NZ/__init__.py | 1420 - .../en_NZ/__pycache__/__init__.cpython-311.pyc | Bin 21713 -> 0 bytes .../faker/providers/person/en_TH/__init__.py | 308 - .../en_TH/__pycache__/__init__.cpython-311.pyc | Bin 3236 -> 0 bytes .../faker/providers/person/en_US/__init__.py | 1830 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 34811 -> 0 bytes .../faker/providers/person/es/__init__.py | 186 - .../person/es/__pycache__/__init__.cpython-311.pyc | Bin 2410 -> 0 bytes .../faker/providers/person/es_AR/__init__.py | 615 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 12298 -> 0 bytes .../faker/providers/person/es_CA/__init__.py | 93 - .../es_CA/__pycache__/__init__.cpython-311.pyc | Bin 1436 -> 0 bytes .../faker/providers/person/es_CL/__init__.py | 1602 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 34654 -> 0 bytes .../faker/providers/person/es_CO/__init__.py | 970 - .../es_CO/__pycache__/__init__.cpython-311.pyc | Bin 19359 -> 0 bytes .../faker/providers/person/es_ES/__init__.py | 2087 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 20187 -> 0 bytes .../faker/providers/person/es_MX/__init__.py | 989 - .../es_MX/__pycache__/__init__.cpython-311.pyc | Bin 10059 -> 0 bytes .../faker/providers/person/et_EE/__init__.py | 708 - .../et_EE/__pycache__/__init__.cpython-311.pyc | Bin 9023 -> 0 bytes .../faker/providers/person/fa_IR/__init__.py | 346 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 5569 -> 0 bytes .../faker/providers/person/fi_FI/__init__.py | 855 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 16960 -> 0 bytes .../faker/providers/person/fr_BE/__init__.py | 1563 - .../fr_BE/__pycache__/__init__.cpython-311.pyc | Bin 25466 -> 0 bytes .../faker/providers/person/fr_CA/__init__.py | 481 - .../fr_CA/__pycache__/__init__.cpython-311.pyc | Bin 5234 -> 0 bytes .../faker/providers/person/fr_CH/__init__.py | 349 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 3830 -> 0 bytes .../faker/providers/person/fr_FR/__init__.py | 663 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 6752 -> 0 bytes .../faker/providers/person/fr_QC/__init__.py | 11 - .../fr_QC/__pycache__/__init__.cpython-311.pyc | Bin 1065 -> 0 bytes .../faker/providers/person/ga_IE/__init__.py | 3272 - .../ga_IE/__pycache__/__init__.cpython-311.pyc | Bin 47014 -> 0 bytes .../faker/providers/person/he_IL/__init__.py | 1500 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 32623 -> 0 bytes .../faker/providers/person/hi_IN/__init__.py | 240 - .../hi_IN/__pycache__/__init__.cpython-311.pyc | Bin 5095 -> 0 bytes .../faker/providers/person/hr_HR/__init__.py | 1031 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 11830 -> 0 bytes .../faker/providers/person/hu_HU/__init__.py | 440 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 10719 -> 0 bytes .../faker/providers/person/hy_AM/__init__.py | 981 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 20503 -> 0 bytes .../faker/providers/person/id_ID/__init__.py | 1004 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 8595 -> 0 bytes .../faker/providers/person/it_IT/__init__.py | 1667 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 16260 -> 0 bytes .../faker/providers/person/ja_JP/__init__.py | 299 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 13078 -> 0 bytes .../faker/providers/person/ka_GE/__init__.py | 773 - .../ka_GE/__pycache__/__init__.cpython-311.pyc | Bin 20653 -> 0 bytes .../faker/providers/person/ko_KR/__init__.py | 202 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 4348 -> 0 bytes .../faker/providers/person/lt_LT/__init__.py | 250 - .../lt_LT/__pycache__/__init__.cpython-311.pyc | Bin 2871 -> 0 bytes .../faker/providers/person/lv_LV/__init__.py | 441 - .../lv_LV/__pycache__/__init__.cpython-311.pyc | Bin 4997 -> 0 bytes .../faker/providers/person/ne_NP/__init__.py | 1543 - .../ne_NP/__pycache__/__init__.cpython-311.pyc | Bin 22463 -> 0 bytes .../faker/providers/person/nl_BE/__init__.py | 1563 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 25102 -> 0 bytes .../faker/providers/person/nl_NL/__init__.py | 1660 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 16254 -> 0 bytes .../faker/providers/person/no_NO/__init__.py | 352 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 3426 -> 0 bytes .../faker/providers/person/or_IN/__init__.py | 1172 - .../or_IN/__pycache__/__init__.cpython-311.pyc | Bin 27800 -> 0 bytes .../faker/providers/person/pl_PL/__init__.py | 5003 -- .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 56201 -> 0 bytes .../faker/providers/person/pt_BR/__init__.py | 329 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 3690 -> 0 bytes .../faker/providers/person/pt_PT/__init__.py | 343 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 3960 -> 0 bytes .../faker/providers/person/ro_RO/__init__.py | 753 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 7269 -> 0 bytes .../faker/providers/person/ru_RU/__init__.py | 1391 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 30255 -> 0 bytes .../faker/providers/person/sk_SK/__init__.py | 2290 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 28715 -> 0 bytes .../faker/providers/person/sl_SI/__init__.py | 529 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 5175 -> 0 bytes .../faker/providers/person/sv_SE/__init__.py | 639 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 12874 -> 0 bytes .../faker/providers/person/ta_IN/__init__.py | 1030 - .../ta_IN/__pycache__/__init__.cpython-311.pyc | Bin 28068 -> 0 bytes .../faker/providers/person/th_TH/__init__.py | 1020 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 25290 -> 0 bytes .../faker/providers/person/tr_TR/__init__.py | 1643 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 17492 -> 0 bytes .../faker/providers/person/tw_GH/__init__.py | 601 - .../tw_GH/__pycache__/__init__.cpython-311.pyc | Bin 5254 -> 0 bytes .../faker/providers/person/uk_UA/__init__.py | 1318 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 30244 -> 0 bytes .../faker/providers/person/zh_CN/__init__.py | 697 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 10310 -> 0 bytes .../faker/providers/person/zh_TW/__init__.py | 652 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 10089 -> 0 bytes .../faker/providers/person/zu_ZA/__init__.py | 934 - .../zu_ZA/__pycache__/__init__.cpython-311.pyc | Bin 9359 -> 0 bytes .../faker/providers/phone_number/__init__.py | 331 - .../__pycache__/__init__.cpython-311.pyc | Bin 3659 -> 0 bytes .../faker/providers/phone_number/ar_AE/__init__.py | 94 - .../ar_AE/__pycache__/__init__.cpython-311.pyc | Bin 3848 -> 0 bytes .../faker/providers/phone_number/ar_JO/__init__.py | 65 - .../ar_JO/__pycache__/__init__.cpython-311.pyc | Bin 2906 -> 0 bytes .../faker/providers/phone_number/ar_PS/__init__.py | 129 - .../ar_PS/__pycache__/__init__.cpython-311.pyc | Bin 4395 -> 0 bytes .../faker/providers/phone_number/az_AZ/__init__.py | 57 - .../az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 2851 -> 0 bytes .../faker/providers/phone_number/bg_BG/__init__.py | 17 - .../bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 699 -> 0 bytes .../faker/providers/phone_number/bn_BD/__init__.py | 334 - .../bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 5973 -> 0 bytes .../faker/providers/phone_number/bs_BA/__init__.py | 39 - .../bs_BA/__pycache__/__init__.cpython-311.pyc | Bin 968 -> 0 bytes .../faker/providers/phone_number/cs_CZ/__init__.py | 30 - .../cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 815 -> 0 bytes .../faker/providers/phone_number/da_DK/__init__.py | 12 - .../da_DK/__pycache__/__init__.cpython-311.pyc | Bin 607 -> 0 bytes .../faker/providers/phone_number/de_DE/__init__.py | 18 - .../de_DE/__pycache__/__init__.cpython-311.pyc | Bin 704 -> 0 bytes .../faker/providers/phone_number/el_GR/__init__.py | 23 - .../el_GR/__pycache__/__init__.cpython-311.pyc | Bin 772 -> 0 bytes .../faker/providers/phone_number/en_AU/__init__.py | 41 - .../en_AU/__pycache__/__init__.cpython-311.pyc | Bin 1706 -> 0 bytes .../faker/providers/phone_number/en_CA/__init__.py | 15 - .../en_CA/__pycache__/__init__.cpython-311.pyc | Bin 678 -> 0 bytes .../faker/providers/phone_number/en_GB/__init__.py | 267 - .../en_GB/__pycache__/__init__.cpython-311.pyc | Bin 4889 -> 0 bytes .../faker/providers/phone_number/en_IN/__init__.py | 9 - .../en_IN/__pycache__/__init__.cpython-311.pyc | Bin 567 -> 0 bytes .../faker/providers/phone_number/en_NZ/__init__.py | 46 - .../en_NZ/__pycache__/__init__.cpython-311.pyc | Bin 1657 -> 0 bytes .../faker/providers/phone_number/en_PH/__init__.py | 252 - .../en_PH/__pycache__/__init__.cpython-311.pyc | Bin 11321 -> 0 bytes .../faker/providers/phone_number/en_US/__init__.py | 50 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 1427 -> 0 bytes .../faker/providers/phone_number/es_AR/__init__.py | 46 - .../es_AR/__pycache__/__init__.cpython-311.pyc | Bin 1006 -> 0 bytes .../faker/providers/phone_number/es_CL/__init__.py | 65 - .../es_CL/__pycache__/__init__.cpython-311.pyc | Bin 2422 -> 0 bytes .../faker/providers/phone_number/es_CO/__init__.py | 42 - .../es_CO/__pycache__/__init__.cpython-311.pyc | Bin 1116 -> 0 bytes .../faker/providers/phone_number/es_ES/__init__.py | 128 - .../es_ES/__pycache__/__init__.cpython-311.pyc | Bin 1766 -> 0 bytes .../faker/providers/phone_number/es_MX/__init__.py | 30 - .../es_MX/__pycache__/__init__.cpython-311.pyc | Bin 884 -> 0 bytes .../faker/providers/phone_number/fa_IR/__init__.py | 101 - .../fa_IR/__pycache__/__init__.cpython-311.pyc | Bin 1991 -> 0 bytes .../faker/providers/phone_number/fi_FI/__init__.py | 12 - .../fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 619 -> 0 bytes .../providers/phone_number/fil_PH/__init__.py | 7 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 594 -> 0 bytes .../faker/providers/phone_number/fr_CH/__init__.py | 36 - .../fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 1029 -> 0 bytes .../faker/providers/phone_number/fr_FR/__init__.py | 284 - .../fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 3178 -> 0 bytes .../faker/providers/phone_number/he_IL/__init__.py | 22 - .../he_IL/__pycache__/__init__.cpython-311.pyc | Bin 727 -> 0 bytes .../faker/providers/phone_number/hi_IN/__init__.py | 11 - .../hi_IN/__pycache__/__init__.cpython-311.pyc | Bin 601 -> 0 bytes .../faker/providers/phone_number/hr_HR/__init__.py | 36 - .../hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 922 -> 0 bytes .../faker/providers/phone_number/hu_HU/__init__.py | 13 - .../hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 633 -> 0 bytes .../faker/providers/phone_number/hy_AM/__init__.py | 19 - .../hy_AM/__pycache__/__init__.cpython-311.pyc | Bin 667 -> 0 bytes .../faker/providers/phone_number/id_ID/__init__.py | 25 - .../id_ID/__pycache__/__init__.cpython-311.pyc | Bin 851 -> 0 bytes .../faker/providers/phone_number/it_IT/__init__.py | 270 - .../it_IT/__pycache__/__init__.cpython-311.pyc | Bin 2821 -> 0 bytes .../faker/providers/phone_number/ja_JP/__init__.py | 10 - .../ja_JP/__pycache__/__init__.cpython-311.pyc | Bin 586 -> 0 bytes .../faker/providers/phone_number/ko_KR/__init__.py | 30 - .../ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 865 -> 0 bytes .../faker/providers/phone_number/lt_LT/__init__.py | 9 - .../lt_LT/__pycache__/__init__.cpython-311.pyc | Bin 573 -> 0 bytes .../faker/providers/phone_number/lv_LV/__init__.py | 9 - .../lv_LV/__pycache__/__init__.cpython-311.pyc | Bin 573 -> 0 bytes .../faker/providers/phone_number/ne_NP/__init__.py | 11 - .../ne_NP/__pycache__/__init__.cpython-311.pyc | Bin 598 -> 0 bytes .../faker/providers/phone_number/nl_BE/__init__.py | 24 - .../nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 800 -> 0 bytes .../faker/providers/phone_number/nl_NL/__init__.py | 22 - .../nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 771 -> 0 bytes .../faker/providers/phone_number/no_NO/__init__.py | 16 - .../no_NO/__pycache__/__init__.cpython-311.pyc | Bin 634 -> 0 bytes .../faker/providers/phone_number/pl_PL/__init__.py | 36 - .../pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 951 -> 0 bytes .../faker/providers/phone_number/pt_BR/__init__.py | 140 - .../pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 3252 -> 0 bytes .../faker/providers/phone_number/pt_PT/__init__.py | 41 - .../pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 952 -> 0 bytes .../faker/providers/phone_number/ro_RO/__init__.py | 105 - .../ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 1924 -> 0 bytes .../faker/providers/phone_number/ru_RU/__init__.py | 16 - .../ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 698 -> 0 bytes .../faker/providers/phone_number/sk_SK/__init__.py | 16 - .../sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 706 -> 0 bytes .../faker/providers/phone_number/sl_SI/__init__.py | 17 - .../sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 670 -> 0 bytes .../faker/providers/phone_number/sv_SE/__init__.py | 16 - .../sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 686 -> 0 bytes .../faker/providers/phone_number/ta_IN/__init__.py | 11 - .../ta_IN/__pycache__/__init__.cpython-311.pyc | Bin 601 -> 0 bytes .../faker/providers/phone_number/th_TH/__init__.py | 72 - .../th_TH/__pycache__/__init__.cpython-311.pyc | Bin 1432 -> 0 bytes .../faker/providers/phone_number/tl_PH/__init__.py | 7 - .../tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 593 -> 0 bytes .../faker/providers/phone_number/tr_TR/__init__.py | 15 - .../tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 678 -> 0 bytes .../faker/providers/phone_number/tw_GH/__init__.py | 26 - .../tw_GH/__pycache__/__init__.cpython-311.pyc | Bin 797 -> 0 bytes .../faker/providers/phone_number/uk_UA/__init__.py | 14 - .../uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 643 -> 0 bytes .../faker/providers/phone_number/zh_CN/__init__.py | 40 - .../zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 1236 -> 0 bytes .../faker/providers/phone_number/zh_TW/__init__.py | 15 - .../zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 618 -> 0 bytes .../faker/providers/profile/__init__.py | 60 - .../profile/__pycache__/__init__.cpython-311.pyc | Bin 4301 -> 0 bytes .../faker/providers/profile/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 496 -> 0 bytes .../faker/providers/python/__init__.py | 543 - .../python/__pycache__/__init__.cpython-311.pyc | Bin 25003 -> 0 bytes .../faker/providers/python/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 494 -> 0 bytes .../site-packages/faker/providers/sbn/__init__.py | 53 - .../sbn/__pycache__/__init__.cpython-311.pyc | Bin 3092 -> 0 bytes .../sbn/__pycache__/rules.cpython-311.pyc | Bin 1327 -> 0 bytes .../providers/sbn/__pycache__/sbn.cpython-311.pyc | Bin 3542 -> 0 bytes .../faker/providers/sbn/en_US/__init__.py | 5 - .../sbn/en_US/__pycache__/__init__.cpython-311.pyc | Bin 488 -> 0 bytes .../site-packages/faker/providers/sbn/rules.py | 24 - .../site-packages/faker/providers/sbn/sbn.py | 49 - .../site-packages/faker/providers/ssn/__init__.py | 10 - .../ssn/__pycache__/__init__.cpython-311.pyc | Bin 960 -> 0 bytes .../faker/providers/ssn/az_AZ/__init__.py | 39 - .../ssn/az_AZ/__pycache__/__init__.cpython-311.pyc | Bin 1054 -> 0 bytes .../faker/providers/ssn/bg_BG/__init__.py | 20 - .../ssn/bg_BG/__pycache__/__init__.cpython-311.pyc | Bin 1071 -> 0 bytes .../faker/providers/ssn/bn_BD/__init__.py | 15 - .../ssn/bn_BD/__pycache__/__init__.cpython-311.pyc | Bin 736 -> 0 bytes .../faker/providers/ssn/cs_CZ/__init__.py | 42 - .../ssn/cs_CZ/__pycache__/__init__.cpython-311.pyc | Bin 2965 -> 0 bytes .../faker/providers/ssn/de_AT/__init__.py | 17 - .../ssn/de_AT/__pycache__/__init__.cpython-311.pyc | Bin 1055 -> 0 bytes .../faker/providers/ssn/de_CH/__init__.py | 5 - .../ssn/de_CH/__pycache__/__init__.cpython-311.pyc | Bin 494 -> 0 bytes .../faker/providers/ssn/de_DE/__init__.py | 17 - .../ssn/de_DE/__pycache__/__init__.cpython-311.pyc | Bin 1051 -> 0 bytes .../faker/providers/ssn/dk_DK/__init__.py | 16 - .../ssn/dk_DK/__pycache__/__init__.cpython-311.pyc | Bin 992 -> 0 bytes .../faker/providers/ssn/el_CY/__init__.py | 16 - .../ssn/el_CY/__pycache__/__init__.cpython-311.pyc | Bin 996 -> 0 bytes .../faker/providers/ssn/el_GR/__init__.py | 84 - .../ssn/el_GR/__pycache__/__init__.cpython-311.pyc | Bin 4033 -> 0 bytes .../faker/providers/ssn/en_CA/__init__.py | 80 - .../ssn/en_CA/__pycache__/__init__.cpython-311.pyc | Bin 2836 -> 0 bytes .../faker/providers/ssn/en_GB/__init__.py | 39 - .../ssn/en_GB/__pycache__/__init__.cpython-311.pyc | Bin 1655 -> 0 bytes .../faker/providers/ssn/en_IE/__init__.py | 21 - .../ssn/en_IE/__pycache__/__init__.cpython-311.pyc | Bin 1073 -> 0 bytes .../faker/providers/ssn/en_IN/__init__.py | 26 - .../ssn/en_IN/__pycache__/__init__.cpython-311.pyc | Bin 1430 -> 0 bytes .../faker/providers/ssn/en_PH/__init__.py | 53 - .../ssn/en_PH/__pycache__/__init__.cpython-311.pyc | Bin 4066 -> 0 bytes .../faker/providers/ssn/en_US/__init__.py | 235 - .../ssn/en_US/__pycache__/__init__.cpython-311.pyc | Bin 6616 -> 0 bytes .../faker/providers/ssn/es_CA/__init__.py | 9 - .../ssn/es_CA/__pycache__/__init__.cpython-311.pyc | Bin 580 -> 0 bytes .../faker/providers/ssn/es_CL/__init__.py | 67 - .../ssn/es_CL/__pycache__/__init__.cpython-311.pyc | Bin 3196 -> 0 bytes .../faker/providers/ssn/es_CO/__init__.py | 72 - .../ssn/es_CO/__pycache__/__init__.cpython-311.pyc | Bin 3718 -> 0 bytes .../faker/providers/ssn/es_ES/__init__.py | 120 - .../ssn/es_ES/__pycache__/__init__.cpython-311.pyc | Bin 6610 -> 0 bytes .../faker/providers/ssn/es_MX/__init__.py | 261 - .../ssn/es_MX/__pycache__/__init__.cpython-311.pyc | Bin 10138 -> 0 bytes .../faker/providers/ssn/et_EE/__init__.py | 70 - .../ssn/et_EE/__pycache__/__init__.cpython-311.pyc | Bin 4701 -> 0 bytes .../faker/providers/ssn/fi_FI/__init__.py | 66 - .../ssn/fi_FI/__pycache__/__init__.cpython-311.pyc | Bin 4154 -> 0 bytes .../faker/providers/ssn/fil_PH/__init__.py | 7 - .../fil_PH/__pycache__/__init__.cpython-311.pyc | Bin 567 -> 0 bytes .../faker/providers/ssn/fr_CH/__init__.py | 46 - .../ssn/fr_CH/__pycache__/__init__.cpython-311.pyc | Bin 3113 -> 0 bytes .../faker/providers/ssn/fr_FR/__init__.py | 159 - .../ssn/fr_FR/__pycache__/__init__.cpython-311.pyc | Bin 6035 -> 0 bytes .../faker/providers/ssn/he_IL/__init__.py | 28 - .../ssn/he_IL/__pycache__/__init__.cpython-311.pyc | Bin 1720 -> 0 bytes .../faker/providers/ssn/hr_HR/__init__.py | 49 - .../ssn/hr_HR/__pycache__/__init__.cpython-311.pyc | Bin 2568 -> 0 bytes .../faker/providers/ssn/hu_HU/__init__.py | 135 - .../ssn/hu_HU/__pycache__/__init__.cpython-311.pyc | Bin 5401 -> 0 bytes .../faker/providers/ssn/it_IT/__init__.py | 8151 --- .../ssn/it_IT/__pycache__/__init__.cpython-311.pyc | Bin 57300 -> 0 bytes .../faker/providers/ssn/ko_KR/__init__.py | 12 - .../ssn/ko_KR/__pycache__/__init__.cpython-311.pyc | Bin 609 -> 0 bytes .../faker/providers/ssn/lb_LU/__init__.py | 17 - .../ssn/lb_LU/__pycache__/__init__.cpython-311.pyc | Bin 1064 -> 0 bytes .../faker/providers/ssn/lt_LT/__init__.py | 20 - .../ssn/lt_LT/__pycache__/__init__.cpython-311.pyc | Bin 1075 -> 0 bytes .../faker/providers/ssn/lv_LV/__init__.py | 66 - .../ssn/lv_LV/__pycache__/__init__.cpython-311.pyc | Bin 4071 -> 0 bytes .../faker/providers/ssn/mt_MT/__init__.py | 17 - .../ssn/mt_MT/__pycache__/__init__.cpython-311.pyc | Bin 1052 -> 0 bytes .../faker/providers/ssn/nl_BE/__init__.py | 64 - .../ssn/nl_BE/__pycache__/__init__.cpython-311.pyc | Bin 2921 -> 0 bytes .../faker/providers/ssn/nl_NL/__init__.py | 45 - .../ssn/nl_NL/__pycache__/__init__.cpython-311.pyc | Bin 2539 -> 0 bytes .../faker/providers/ssn/no_NO/__init__.py | 83 - .../ssn/no_NO/__pycache__/__init__.cpython-311.pyc | Bin 5281 -> 0 bytes .../faker/providers/ssn/pl_PL/__init__.py | 73 - .../ssn/pl_PL/__pycache__/__init__.cpython-311.pyc | Bin 4105 -> 0 bytes .../faker/providers/ssn/pt_BR/__init__.py | 64 - .../ssn/pt_BR/__pycache__/__init__.cpython-311.pyc | Bin 3921 -> 0 bytes .../faker/providers/ssn/pt_PT/__init__.py | 17 - .../ssn/pt_PT/__pycache__/__init__.cpython-311.pyc | Bin 1059 -> 0 bytes .../faker/providers/ssn/ro_RO/__init__.py | 135 - .../ssn/ro_RO/__pycache__/__init__.cpython-311.pyc | Bin 4286 -> 0 bytes .../faker/providers/ssn/ru_RU/__init__.py | 5 - .../ssn/ru_RU/__pycache__/__init__.cpython-311.pyc | Bin 525 -> 0 bytes .../faker/providers/ssn/sk_SK/__init__.py | 42 - .../ssn/sk_SK/__pycache__/__init__.cpython-311.pyc | Bin 2813 -> 0 bytes .../faker/providers/ssn/sl_SI/__init__.py | 17 - .../ssn/sl_SI/__pycache__/__init__.cpython-311.pyc | Bin 1056 -> 0 bytes .../faker/providers/ssn/sv_SE/__init__.py | 86 - .../ssn/sv_SE/__pycache__/__init__.cpython-311.pyc | Bin 5375 -> 0 bytes .../faker/providers/ssn/th_TH/__init__.py | 59 - .../ssn/th_TH/__pycache__/__init__.cpython-311.pyc | Bin 2725 -> 0 bytes .../faker/providers/ssn/tl_PH/__init__.py | 7 - .../ssn/tl_PH/__pycache__/__init__.cpython-311.pyc | Bin 566 -> 0 bytes .../faker/providers/ssn/tr_TR/__init__.py | 18 - .../ssn/tr_TR/__pycache__/__init__.cpython-311.pyc | Bin 1288 -> 0 bytes .../faker/providers/ssn/uk_UA/__init__.py | 59 - .../ssn/uk_UA/__pycache__/__init__.cpython-311.pyc | Bin 3895 -> 0 bytes .../faker/providers/ssn/zh_CN/__init__.py | 3562 - .../ssn/zh_CN/__pycache__/__init__.cpython-311.pyc | Bin 31065 -> 0 bytes .../faker/providers/ssn/zh_TW/__init__.py | 45 - .../ssn/zh_TW/__pycache__/__init__.cpython-311.pyc | Bin 2913 -> 0 bytes .../faker/providers/user_agent/__init__.py | 326 - .../__pycache__/__init__.cpython-311.pyc | Bin 15763 -> 0 bytes .../faker/providers/user_agent/en_US/__init__.py | 5 - .../en_US/__pycache__/__init__.cpython-311.pyc | Bin 502 -> 0 bytes venv/lib/python3.11/site-packages/faker/proxy.py | 382 - venv/lib/python3.11/site-packages/faker/py.typed | 0 .../site-packages/faker/sphinx/__init__.py | 0 .../sphinx/__pycache__/__init__.cpython-311.pyc | Bin 196 -> 0 bytes .../sphinx/__pycache__/autodoc.cpython-311.pyc | Bin 1334 -> 0 bytes .../sphinx/__pycache__/docstring.cpython-311.pyc | Bin 11983 -> 0 bytes .../sphinx/__pycache__/documentor.cpython-311.pyc | Bin 10310 -> 0 bytes .../sphinx/__pycache__/validator.cpython-311.pyc | Bin 7769 -> 0 bytes .../site-packages/faker/sphinx/autodoc.py | 19 - .../site-packages/faker/sphinx/docstring.py | 224 - .../site-packages/faker/sphinx/documentor.py | 170 - .../site-packages/faker/sphinx/validator.py | 151 - venv/lib/python3.11/site-packages/faker/typing.py | 32 - .../site-packages/faker/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-311.pyc | Bin 195 -> 0 bytes .../utils/__pycache__/checksums.cpython-311.pyc | Bin 1744 -> 0 bytes .../utils/__pycache__/datasets.cpython-311.pyc | Bin 817 -> 0 bytes .../utils/__pycache__/decorators.cpython-311.pyc | Bin 3037 -> 0 bytes .../utils/__pycache__/distribution.cpython-311.pyc | Bin 4330 -> 0 bytes .../utils/__pycache__/loading.cpython-311.pyc | Bin 3890 -> 0 bytes .../faker/utils/__pycache__/text.cpython-311.pyc | Bin 2100 -> 0 bytes .../site-packages/faker/utils/checksums.py | 23 - .../site-packages/faker/utils/datasets.py | 8 - .../site-packages/faker/utils/decorators.py | 38 - .../site-packages/faker/utils/distribution.py | 88 - .../site-packages/faker/utils/loading.py | 60 - .../python3.11/site-packages/faker/utils/text.py | 28 - .../fast_query_parsers-1.0.3.dist-info/INSTALLER | 1 - .../fast_query_parsers-1.0.3.dist-info/METADATA | 195 - .../fast_query_parsers-1.0.3.dist-info/RECORD | 10 - .../fast_query_parsers-1.0.3.dist-info/WHEEL | 4 - .../license_files/LICENSE | 21 - .../site-packages/fast_query_parsers/__init__.py | 5 - .../site-packages/fast_query_parsers/__init__.pyi | 27 - .../__pycache__/__init__.cpython-311.pyc | Bin 378 -> 0 bytes .../fast_query_parsers/fast_query_parsers.abi3.so | Bin 2185632 -> 0 bytes .../site-packages/fast_query_parsers/py.typed | 0 .../site-packages/greenlet-3.0.3.dist-info/AUTHORS | 51 - .../greenlet-3.0.3.dist-info/INSTALLER | 1 - .../site-packages/greenlet-3.0.3.dist-info/LICENSE | 30 - .../greenlet-3.0.3.dist-info/LICENSE.PSF | 47 - .../greenlet-3.0.3.dist-info/METADATA | 102 - .../site-packages/greenlet-3.0.3.dist-info/RECORD | 116 - .../site-packages/greenlet-3.0.3.dist-info/WHEEL | 6 - .../greenlet-3.0.3.dist-info/top_level.txt | 1 - .../site-packages/greenlet/TBrokenGreenlet.cpp | 45 - .../site-packages/greenlet/TExceptionState.cpp | 62 - .../site-packages/greenlet/TGreenlet.cpp | 714 - .../site-packages/greenlet/TGreenletGlobals.cpp | 94 - .../site-packages/greenlet/TMainGreenlet.cpp | 155 - .../site-packages/greenlet/TPythonState.cpp | 375 - .../site-packages/greenlet/TStackState.cpp | 265 - .../site-packages/greenlet/TThreadStateDestroy.cpp | 195 - .../site-packages/greenlet/TUserGreenlet.cpp | 667 - .../python3.11/site-packages/greenlet/__init__.py | 71 - .../greenlet/__pycache__/__init__.cpython-311.pyc | Bin 1346 -> 0 bytes .../_greenlet.cpython-311-x86_64-linux-gnu.so | Bin 1506232 -> 0 bytes .../python3.11/site-packages/greenlet/greenlet.cpp | 1494 - .../python3.11/site-packages/greenlet/greenlet.h | 164 - .../site-packages/greenlet/greenlet_allocator.hpp | 63 - .../greenlet/greenlet_compiler_compat.hpp | 95 - .../greenlet/greenlet_cpython_add_pending.hpp | 172 - .../greenlet/greenlet_cpython_compat.hpp | 127 - .../site-packages/greenlet/greenlet_exceptions.hpp | 150 - .../site-packages/greenlet/greenlet_greenlet.hpp | 805 - .../site-packages/greenlet/greenlet_internal.hpp | 106 - .../site-packages/greenlet/greenlet_refs.hpp | 1100 - .../site-packages/greenlet/greenlet_slp_switch.hpp | 99 - .../greenlet/greenlet_thread_state.hpp | 543 - .../greenlet_thread_state_dict_cleanup.hpp | 118 - .../greenlet/greenlet_thread_support.hpp | 31 - .../site-packages/greenlet/platform/__init__.py | 0 .../platform/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../greenlet/platform/setup_switch_x64_masm.cmd | 2 - .../greenlet/platform/switch_aarch64_gcc.h | 124 - .../greenlet/platform/switch_alpha_unix.h | 30 - .../greenlet/platform/switch_amd64_unix.h | 87 - .../greenlet/platform/switch_arm32_gcc.h | 79 - .../greenlet/platform/switch_arm32_ios.h | 67 - .../greenlet/platform/switch_arm64_masm.asm | 53 - .../greenlet/platform/switch_arm64_masm.obj | Bin 746 -> 0 bytes .../greenlet/platform/switch_arm64_msvc.h | 17 - .../greenlet/platform/switch_csky_gcc.h | 48 - .../greenlet/platform/switch_loongarch64_linux.h | 31 - .../greenlet/platform/switch_m68k_gcc.h | 38 - .../greenlet/platform/switch_mips_unix.h | 64 - .../greenlet/platform/switch_ppc64_aix.h | 103 - .../greenlet/platform/switch_ppc64_linux.h | 105 - .../greenlet/platform/switch_ppc_aix.h | 87 - .../greenlet/platform/switch_ppc_linux.h | 84 - .../greenlet/platform/switch_ppc_macosx.h | 82 - .../greenlet/platform/switch_ppc_unix.h | 82 - .../greenlet/platform/switch_riscv_unix.h | 32 - .../greenlet/platform/switch_s390_unix.h | 87 - .../greenlet/platform/switch_sparc_sun_gcc.h | 92 - .../greenlet/platform/switch_x32_unix.h | 63 - .../greenlet/platform/switch_x64_masm.asm | 111 - .../greenlet/platform/switch_x64_masm.obj | Bin 1078 -> 0 bytes .../greenlet/platform/switch_x64_msvc.h | 60 - .../greenlet/platform/switch_x86_msvc.h | 326 - .../greenlet/platform/switch_x86_unix.h | 105 - .../site-packages/greenlet/slp_platformselect.h | 71 - .../site-packages/greenlet/tests/__init__.py | 237 - .../tests/__pycache__/__init__.cpython-311.pyc | Bin 9744 -> 0 bytes .../fail_clearing_run_switches.cpython-311.pyc | Bin 2405 -> 0 bytes .../__pycache__/fail_cpp_exception.cpython-311.pyc | Bin 1721 -> 0 bytes ...ail_initialstub_already_started.cpython-311.pyc | Bin 3881 -> 0 bytes .../__pycache__/fail_slp_switch.cpython-311.pyc | Bin 1432 -> 0 bytes .../fail_switch_three_greenlets.cpython-311.pyc | Bin 1898 -> 0 bytes .../fail_switch_three_greenlets2.cpython-311.pyc | Bin 2906 -> 0 bytes .../fail_switch_two_greenlets.cpython-311.pyc | Bin 1901 -> 0 bytes .../tests/__pycache__/leakcheck.cpython-311.pyc | Bin 12777 -> 0 bytes .../__pycache__/test_contextvars.cpython-311.pyc | Bin 18611 -> 0 bytes .../tests/__pycache__/test_cpp.cpython-311.pyc | Bin 4567 -> 0 bytes .../test_extension_interface.cpython-311.pyc | Bin 8576 -> 0 bytes .../tests/__pycache__/test_gc.cpython-311.pyc | Bin 5518 -> 0 bytes .../__pycache__/test_generator.cpython-311.pyc | Bin 3540 -> 0 bytes .../test_generator_nested.cpython-311.pyc | Bin 9394 -> 0 bytes .../__pycache__/test_greenlet.cpython-311.pyc | Bin 86450 -> 0 bytes .../test_greenlet_trash.cpython-311.pyc | Bin 7015 -> 0 bytes .../tests/__pycache__/test_leaks.cpython-311.pyc | Bin 21765 -> 0 bytes .../__pycache__/test_stack_saved.cpython-311.pyc | Bin 1514 -> 0 bytes .../tests/__pycache__/test_throw.cpython-311.pyc | Bin 8934 -> 0 bytes .../tests/__pycache__/test_tracing.cpython-311.pyc | Bin 15840 -> 0 bytes .../tests/__pycache__/test_version.cpython-311.pyc | Bin 2927 -> 0 bytes .../tests/__pycache__/test_weakref.cpython-311.pyc | Bin 3080 -> 0 bytes .../site-packages/greenlet/tests/_test_extension.c | 231 - ..._test_extension.cpython-311-x86_64-linux-gnu.so | Bin 36624 -> 0 bytes .../greenlet/tests/_test_extension_cpp.cpp | 226 - ...t_extension_cpp.cpython-311-x86_64-linux-gnu.so | Bin 57288 -> 0 bytes .../greenlet/tests/fail_clearing_run_switches.py | 47 - .../greenlet/tests/fail_cpp_exception.py | 33 - .../tests/fail_initialstub_already_started.py | 78 - .../greenlet/tests/fail_slp_switch.py | 29 - .../greenlet/tests/fail_switch_three_greenlets.py | 44 - .../greenlet/tests/fail_switch_three_greenlets2.py | 55 - .../greenlet/tests/fail_switch_two_greenlets.py | 41 - .../site-packages/greenlet/tests/leakcheck.py | 319 - .../greenlet/tests/test_contextvars.py | 310 - .../site-packages/greenlet/tests/test_cpp.py | 73 - .../greenlet/tests/test_extension_interface.py | 115 - .../site-packages/greenlet/tests/test_gc.py | 86 - .../site-packages/greenlet/tests/test_generator.py | 59 - .../greenlet/tests/test_generator_nested.py | 168 - .../site-packages/greenlet/tests/test_greenlet.py | 1311 - .../greenlet/tests/test_greenlet_trash.py | 178 - .../site-packages/greenlet/tests/test_leaks.py | 443 - .../greenlet/tests/test_stack_saved.py | 19 - .../site-packages/greenlet/tests/test_throw.py | 128 - .../site-packages/greenlet/tests/test_tracing.py | 291 - .../site-packages/greenlet/tests/test_version.py | 41 - .../site-packages/greenlet/tests/test_weakref.py | 35 - .../site-packages/h11-0.14.0.dist-info/INSTALLER | 1 - .../site-packages/h11-0.14.0.dist-info/LICENSE.txt | 22 - .../site-packages/h11-0.14.0.dist-info/METADATA | 193 - .../site-packages/h11-0.14.0.dist-info/RECORD | 52 - .../site-packages/h11-0.14.0.dist-info/WHEEL | 5 - .../h11-0.14.0.dist-info/top_level.txt | 1 - venv/lib/python3.11/site-packages/h11/__init__.py | 62 - .../h11/__pycache__/__init__.cpython-311.pyc | Bin 1320 -> 0 bytes .../h11/__pycache__/_abnf.cpython-311.pyc | Bin 1825 -> 0 bytes .../h11/__pycache__/_connection.cpython-311.pyc | Bin 24311 -> 0 bytes .../h11/__pycache__/_events.cpython-311.pyc | Bin 15199 -> 0 bytes .../h11/__pycache__/_headers.cpython-311.pyc | Bin 9116 -> 0 bytes .../h11/__pycache__/_readers.cpython-311.pyc | Bin 10793 -> 0 bytes .../h11/__pycache__/_receivebuffer.cpython-311.pyc | Bin 5152 -> 0 bytes .../h11/__pycache__/_state.cpython-311.pyc | Bin 9788 -> 0 bytes .../h11/__pycache__/_util.cpython-311.pyc | Bin 5373 -> 0 bytes .../h11/__pycache__/_version.cpython-311.pyc | Bin 210 -> 0 bytes .../h11/__pycache__/_writers.cpython-311.pyc | Bin 7310 -> 0 bytes venv/lib/python3.11/site-packages/h11/_abnf.py | 132 - .../python3.11/site-packages/h11/_connection.py | 633 - venv/lib/python3.11/site-packages/h11/_events.py | 369 - venv/lib/python3.11/site-packages/h11/_headers.py | 278 - venv/lib/python3.11/site-packages/h11/_readers.py | 247 - .../python3.11/site-packages/h11/_receivebuffer.py | 153 - venv/lib/python3.11/site-packages/h11/_state.py | 367 - venv/lib/python3.11/site-packages/h11/_util.py | 135 - venv/lib/python3.11/site-packages/h11/_version.py | 16 - venv/lib/python3.11/site-packages/h11/_writers.py | 145 - venv/lib/python3.11/site-packages/h11/py.typed | 1 - .../python3.11/site-packages/h11/tests/__init__.py | 0 .../h11/tests/__pycache__/__init__.cpython-311.pyc | Bin 193 -> 0 bytes .../h11/tests/__pycache__/helpers.cpython-311.pyc | Bin 5113 -> 0 bytes .../test_against_stdlib_http.cpython-311.pyc | Bin 8277 -> 0 bytes .../__pycache__/test_connection.cpython-311.pyc | Bin 68029 -> 0 bytes .../tests/__pycache__/test_events.cpython-311.pyc | Bin 6829 -> 0 bytes .../tests/__pycache__/test_headers.cpython-311.pyc | Bin 9606 -> 0 bytes .../tests/__pycache__/test_helpers.cpython-311.pyc | Bin 1529 -> 0 bytes .../h11/tests/__pycache__/test_io.cpython-311.pyc | Bin 25542 -> 0 bytes .../__pycache__/test_receivebuffer.cpython-311.pyc | Bin 4608 -> 0 bytes .../tests/__pycache__/test_state.cpython-311.pyc | Bin 15210 -> 0 bytes .../tests/__pycache__/test_util.cpython-311.pyc | Bin 7816 -> 0 bytes .../site-packages/h11/tests/data/test-file | 1 - .../python3.11/site-packages/h11/tests/helpers.py | 101 - .../h11/tests/test_against_stdlib_http.py | 115 - .../site-packages/h11/tests/test_connection.py | 1122 - .../site-packages/h11/tests/test_events.py | 150 - .../site-packages/h11/tests/test_headers.py | 157 - .../site-packages/h11/tests/test_helpers.py | 32 - .../python3.11/site-packages/h11/tests/test_io.py | 572 - .../site-packages/h11/tests/test_receivebuffer.py | 135 - .../site-packages/h11/tests/test_state.py | 271 - .../site-packages/h11/tests/test_util.py | 112 - .../httpcore-1.0.5.dist-info/INSTALLER | 1 - .../httpcore-1.0.5.dist-info/METADATA | 607 - .../site-packages/httpcore-1.0.5.dist-info/RECORD | 68 - .../site-packages/httpcore-1.0.5.dist-info/WHEEL | 4 - .../httpcore-1.0.5.dist-info/licenses/LICENSE.md | 27 - .../python3.11/site-packages/httpcore/__init__.py | 139 - .../httpcore/__pycache__/__init__.cpython-311.pyc | Bin 3896 -> 0 bytes .../httpcore/__pycache__/_api.cpython-311.pyc | Bin 4284 -> 0 bytes .../__pycache__/_exceptions.cpython-311.pyc | Bin 3809 -> 0 bytes .../httpcore/__pycache__/_models.cpython-311.pyc | Bin 23894 -> 0 bytes .../httpcore/__pycache__/_ssl.cpython-311.pyc | Bin 638 -> 0 bytes .../__pycache__/_synchronization.cpython-311.pyc | Bin 16427 -> 0 bytes .../httpcore/__pycache__/_trace.cpython-311.pyc | Bin 6222 -> 0 bytes .../httpcore/__pycache__/_utils.cpython-311.pyc | Bin 1412 -> 0 bytes venv/lib/python3.11/site-packages/httpcore/_api.py | 92 - .../site-packages/httpcore/_async/__init__.py | 39 - .../_async/__pycache__/__init__.cpython-311.pyc | Bin 1924 -> 0 bytes .../_async/__pycache__/connection.cpython-311.pyc | Bin 12533 -> 0 bytes .../__pycache__/connection_pool.cpython-311.pyc | Bin 20568 -> 0 bytes .../_async/__pycache__/http11.cpython-311.pyc | Bin 22007 -> 0 bytes .../_async/__pycache__/http2.cpython-311.pyc | Bin 33161 -> 0 bytes .../_async/__pycache__/http_proxy.cpython-311.pyc | Bin 20038 -> 0 bytes .../_async/__pycache__/interfaces.cpython-311.pyc | Bin 6570 -> 0 bytes .../_async/__pycache__/socks_proxy.cpython-311.pyc | Bin 17740 -> 0 bytes .../site-packages/httpcore/_async/connection.py | 220 - .../httpcore/_async/connection_pool.py | 380 - .../site-packages/httpcore/_async/http11.py | 386 - .../site-packages/httpcore/_async/http2.py | 589 - .../site-packages/httpcore/_async/http_proxy.py | 368 - .../site-packages/httpcore/_async/interfaces.py | 135 - .../site-packages/httpcore/_async/socks_proxy.py | 342 - .../site-packages/httpcore/_backends/__init__.py | 0 .../_backends/__pycache__/__init__.cpython-311.pyc | Bin 202 -> 0 bytes .../_backends/__pycache__/anyio.cpython-311.pyc | Bin 9845 -> 0 bytes .../_backends/__pycache__/auto.cpython-311.pyc | Bin 3011 -> 0 bytes .../_backends/__pycache__/base.cpython-311.pyc | Bin 6286 -> 0 bytes .../_backends/__pycache__/mock.cpython-311.pyc | Bin 8915 -> 0 bytes .../_backends/__pycache__/sync.cpython-311.pyc | Bin 13399 -> 0 bytes .../_backends/__pycache__/trio.cpython-311.pyc | Bin 10419 -> 0 bytes .../site-packages/httpcore/_backends/anyio.py | 147 - .../site-packages/httpcore/_backends/auto.py | 51 - .../site-packages/httpcore/_backends/base.py | 103 - .../site-packages/httpcore/_backends/mock.py | 142 - .../site-packages/httpcore/_backends/sync.py | 239 - .../site-packages/httpcore/_backends/trio.py | 161 - .../site-packages/httpcore/_exceptions.py | 81 - .../python3.11/site-packages/httpcore/_models.py | 492 - venv/lib/python3.11/site-packages/httpcore/_ssl.py | 9 - .../site-packages/httpcore/_sync/__init__.py | 39 - .../_sync/__pycache__/__init__.cpython-311.pyc | Bin 1878 -> 0 bytes .../_sync/__pycache__/connection.cpython-311.pyc | Bin 11334 -> 0 bytes .../__pycache__/connection_pool.cpython-311.pyc | Bin 19898 -> 0 bytes .../_sync/__pycache__/http11.cpython-311.pyc | Bin 19939 -> 0 bytes .../_sync/__pycache__/http2.cpython-311.pyc | Bin 29817 -> 0 bytes .../_sync/__pycache__/http_proxy.cpython-311.pyc | Bin 19330 -> 0 bytes .../_sync/__pycache__/interfaces.cpython-311.pyc | Bin 6230 -> 0 bytes .../_sync/__pycache__/socks_proxy.cpython-311.pyc | Bin 16718 -> 0 bytes .../site-packages/httpcore/_sync/connection.py | 220 - .../httpcore/_sync/connection_pool.py | 380 - .../site-packages/httpcore/_sync/http11.py | 386 - .../site-packages/httpcore/_sync/http2.py | 589 - .../site-packages/httpcore/_sync/http_proxy.py | 368 - .../site-packages/httpcore/_sync/interfaces.py | 135 - .../site-packages/httpcore/_sync/socks_proxy.py | 342 - .../site-packages/httpcore/_synchronization.py | 317 - .../python3.11/site-packages/httpcore/_trace.py | 105 - .../python3.11/site-packages/httpcore/_utils.py | 36 - .../lib/python3.11/site-packages/httpcore/py.typed | 0 .../httptools-0.6.1.dist-info/INSTALLER | 1 - .../httptools-0.6.1.dist-info/LICENSE | 21 - .../httptools-0.6.1.dist-info/METADATA | 133 - .../site-packages/httptools-0.6.1.dist-info/RECORD | 16 - .../site-packages/httptools-0.6.1.dist-info/WHEEL | 8 - .../httptools-0.6.1.dist-info/top_level.txt | 1 - .../python3.11/site-packages/httptools/__init__.py | 6 - .../httptools/__pycache__/__init__.cpython-311.pyc | Bin 363 -> 0 bytes .../httptools/__pycache__/_version.cpython-311.pyc | Bin 215 -> 0 bytes .../python3.11/site-packages/httptools/_version.py | 13 - .../site-packages/httptools/parser/__init__.py | 5 - .../parser/__pycache__/__init__.cpython-311.pyc | Bin 366 -> 0 bytes .../parser/__pycache__/errors.cpython-311.pyc | Bin 1456 -> 0 bytes .../site-packages/httptools/parser/errors.py | 30 - .../parser/parser.cpython-311-x86_64-linux-gnu.so | Bin 705800 -> 0 bytes .../url_parser.cpython-311-x86_64-linux-gnu.so | Bin 319392 -> 0 bytes .../site-packages/httpx-0.27.0.dist-info/INSTALLER | 1 - .../site-packages/httpx-0.27.0.dist-info/METADATA | 209 - .../site-packages/httpx-0.27.0.dist-info/RECORD | 56 - .../site-packages/httpx-0.27.0.dist-info/WHEEL | 4 - .../httpx-0.27.0.dist-info/entry_points.txt | 2 - .../httpx-0.27.0.dist-info/licenses/LICENSE.md | 12 - .../lib/python3.11/site-packages/httpx/__init__.py | 138 - .../httpx/__pycache__/__init__.cpython-311.pyc | Bin 3990 -> 0 bytes .../httpx/__pycache__/__version__.cpython-311.pyc | Bin 312 -> 0 bytes .../httpx/__pycache__/_api.cpython-311.pyc | Bin 10224 -> 0 bytes .../httpx/__pycache__/_auth.cpython-311.pyc | Bin 17000 -> 0 bytes .../httpx/__pycache__/_client.cpython-311.pyc | Bin 66360 -> 0 bytes .../httpx/__pycache__/_compat.cpython-311.pyc | Bin 1641 -> 0 bytes .../httpx/__pycache__/_config.cpython-311.pyc | Bin 16674 -> 0 bytes .../httpx/__pycache__/_content.cpython-311.pyc | Bin 11822 -> 0 bytes .../httpx/__pycache__/_decoders.cpython-311.pyc | Bin 16037 -> 0 bytes .../httpx/__pycache__/_exceptions.cpython-311.pyc | Bin 14307 -> 0 bytes .../httpx/__pycache__/_main.cpython-311.pyc | Bin 23026 -> 0 bytes .../httpx/__pycache__/_models.cpython-311.pyc | Bin 62602 -> 0 bytes .../httpx/__pycache__/_multipart.cpython-311.pyc | Bin 13531 -> 0 bytes .../__pycache__/_status_codes.cpython-311.pyc | Bin 7533 -> 0 bytes .../httpx/__pycache__/_types.cpython-311.pyc | Bin 5126 -> 0 bytes .../httpx/__pycache__/_urlparse.cpython-311.pyc | Bin 18918 -> 0 bytes .../httpx/__pycache__/_urls.cpython-311.pyc | Bin 30980 -> 0 bytes .../httpx/__pycache__/_utils.cpython-311.pyc | Bin 20340 -> 0 bytes .../python3.11/site-packages/httpx/__version__.py | 3 - venv/lib/python3.11/site-packages/httpx/_api.py | 467 - venv/lib/python3.11/site-packages/httpx/_auth.py | 345 - venv/lib/python3.11/site-packages/httpx/_client.py | 2052 - venv/lib/python3.11/site-packages/httpx/_compat.py | 41 - venv/lib/python3.11/site-packages/httpx/_config.py | 370 - .../lib/python3.11/site-packages/httpx/_content.py | 236 - .../python3.11/site-packages/httpx/_decoders.py | 329 - .../python3.11/site-packages/httpx/_exceptions.py | 347 - venv/lib/python3.11/site-packages/httpx/_main.py | 509 - venv/lib/python3.11/site-packages/httpx/_models.py | 1209 - .../python3.11/site-packages/httpx/_multipart.py | 269 - .../site-packages/httpx/_status_codes.py | 160 - .../site-packages/httpx/_transports/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../_transports/__pycache__/asgi.cpython-311.pyc | Bin 8059 -> 0 bytes .../_transports/__pycache__/base.cpython-311.pyc | Bin 4186 -> 0 bytes .../__pycache__/default.cpython-311.pyc | Bin 16617 -> 0 bytes .../_transports/__pycache__/mock.cpython-311.pyc | Bin 2107 -> 0 bytes .../_transports/__pycache__/wsgi.cpython-311.pyc | Bin 7371 -> 0 bytes .../site-packages/httpx/_transports/asgi.py | 181 - .../site-packages/httpx/_transports/base.py | 84 - .../site-packages/httpx/_transports/default.py | 385 - .../site-packages/httpx/_transports/mock.py | 40 - .../site-packages/httpx/_transports/wsgi.py | 146 - venv/lib/python3.11/site-packages/httpx/_types.py | 134 - .../python3.11/site-packages/httpx/_urlparse.py | 502 - venv/lib/python3.11/site-packages/httpx/_urls.py | 646 - venv/lib/python3.11/site-packages/httpx/_utils.py | 440 - venv/lib/python3.11/site-packages/httpx/py.typed | 0 .../site-packages/idna-3.6.dist-info/INSTALLER | 1 - .../site-packages/idna-3.6.dist-info/LICENSE.md | 31 - .../site-packages/idna-3.6.dist-info/METADATA | 243 - .../site-packages/idna-3.6.dist-info/RECORD | 22 - .../site-packages/idna-3.6.dist-info/WHEEL | 4 - venv/lib/python3.11/site-packages/idna/__init__.py | 44 - .../idna/__pycache__/__init__.cpython-311.pyc | Bin 1090 -> 0 bytes .../idna/__pycache__/codec.cpython-311.pyc | Bin 5777 -> 0 bytes .../idna/__pycache__/compat.cpython-311.pyc | Bin 1007 -> 0 bytes .../idna/__pycache__/core.cpython-311.pyc | Bin 19356 -> 0 bytes .../idna/__pycache__/idnadata.cpython-311.pyc | Bin 38945 -> 0 bytes .../idna/__pycache__/intranges.cpython-311.pyc | Bin 2975 -> 0 bytes .../idna/__pycache__/package_data.cpython-311.pyc | Bin 210 -> 0 bytes .../idna/__pycache__/uts46data.cpython-311.pyc | Bin 163168 -> 0 bytes venv/lib/python3.11/site-packages/idna/codec.py | 118 - venv/lib/python3.11/site-packages/idna/compat.py | 13 - venv/lib/python3.11/site-packages/idna/core.py | 400 - venv/lib/python3.11/site-packages/idna/idnadata.py | 2150 - .../lib/python3.11/site-packages/idna/intranges.py | 54 - .../python3.11/site-packages/idna/package_data.py | 2 - venv/lib/python3.11/site-packages/idna/py.typed | 0 .../lib/python3.11/site-packages/idna/uts46data.py | 8598 --- .../python3.11/site-packages/jinja2/__init__.py | 37 - .../jinja2/__pycache__/__init__.cpython-311.pyc | Bin 2123 -> 0 bytes .../jinja2/__pycache__/_identifier.cpython-311.pyc | Bin 2139 -> 0 bytes .../jinja2/__pycache__/async_utils.cpython-311.pyc | Bin 4575 -> 0 bytes .../jinja2/__pycache__/bccache.cpython-311.pyc | Bin 20921 -> 0 bytes .../jinja2/__pycache__/compiler.cpython-311.pyc | Bin 110482 -> 0 bytes .../jinja2/__pycache__/constants.cpython-311.pyc | Bin 1558 -> 0 bytes .../jinja2/__pycache__/debug.cpython-311.pyc | Bin 6718 -> 0 bytes .../jinja2/__pycache__/defaults.cpython-311.pyc | Bin 1724 -> 0 bytes .../jinja2/__pycache__/environment.cpython-311.pyc | Bin 80540 -> 0 bytes .../jinja2/__pycache__/exceptions.cpython-311.pyc | Bin 8609 -> 0 bytes .../jinja2/__pycache__/ext.cpython-311.pyc | Bin 43392 -> 0 bytes .../jinja2/__pycache__/filters.cpython-311.pyc | Bin 76215 -> 0 bytes .../jinja2/__pycache__/idtracking.cpython-311.pyc | Bin 19544 -> 0 bytes .../jinja2/__pycache__/lexer.cpython-311.pyc | Bin 35619 -> 0 bytes .../jinja2/__pycache__/loaders.cpython-311.pyc | Bin 33066 -> 0 bytes .../jinja2/__pycache__/meta.cpython-311.pyc | Bin 5703 -> 0 bytes .../jinja2/__pycache__/nativetypes.cpython-311.pyc | Bin 7965 -> 0 bytes .../jinja2/__pycache__/nodes.cpython-311.pyc | Bin 64484 -> 0 bytes .../jinja2/__pycache__/optimizer.cpython-311.pyc | Bin 2854 -> 0 bytes .../jinja2/__pycache__/parser.cpython-311.pyc | Bin 59427 -> 0 bytes .../jinja2/__pycache__/runtime.cpython-311.pyc | Bin 50648 -> 0 bytes .../jinja2/__pycache__/sandbox.cpython-311.pyc | Bin 18822 -> 0 bytes .../jinja2/__pycache__/tests.cpython-311.pyc | Bin 9245 -> 0 bytes .../jinja2/__pycache__/utils.cpython-311.pyc | Bin 37060 -> 0 bytes .../jinja2/__pycache__/visitor.cpython-311.pyc | Bin 5714 -> 0 bytes .../python3.11/site-packages/jinja2/_identifier.py | 6 - .../python3.11/site-packages/jinja2/async_utils.py | 84 - .../lib/python3.11/site-packages/jinja2/bccache.py | 406 - .../python3.11/site-packages/jinja2/compiler.py | 1956 - .../python3.11/site-packages/jinja2/constants.py | 20 - venv/lib/python3.11/site-packages/jinja2/debug.py | 191 - .../python3.11/site-packages/jinja2/defaults.py | 48 - .../python3.11/site-packages/jinja2/environment.py | 1667 - .../python3.11/site-packages/jinja2/exceptions.py | 166 - venv/lib/python3.11/site-packages/jinja2/ext.py | 869 - .../lib/python3.11/site-packages/jinja2/filters.py | 1854 - .../python3.11/site-packages/jinja2/idtracking.py | 318 - venv/lib/python3.11/site-packages/jinja2/lexer.py | 866 - .../lib/python3.11/site-packages/jinja2/loaders.py | 661 - venv/lib/python3.11/site-packages/jinja2/meta.py | 111 - .../python3.11/site-packages/jinja2/nativetypes.py | 130 - venv/lib/python3.11/site-packages/jinja2/nodes.py | 1204 - .../python3.11/site-packages/jinja2/optimizer.py | 47 - venv/lib/python3.11/site-packages/jinja2/parser.py | 1034 - venv/lib/python3.11/site-packages/jinja2/py.typed | 0 .../lib/python3.11/site-packages/jinja2/runtime.py | 1051 - .../lib/python3.11/site-packages/jinja2/sandbox.py | 428 - venv/lib/python3.11/site-packages/jinja2/tests.py | 255 - venv/lib/python3.11/site-packages/jinja2/utils.py | 755 - .../lib/python3.11/site-packages/jinja2/visitor.py | 92 - .../jsbeautifier-1.15.1.dist-info/INSTALLER | 1 - .../jsbeautifier-1.15.1.dist-info/METADATA | 12 - .../jsbeautifier-1.15.1.dist-info/RECORD | 75 - .../jsbeautifier-1.15.1.dist-info/WHEEL | 5 - .../jsbeautifier-1.15.1.dist-info/entry_points.txt | 2 - .../jsbeautifier-1.15.1.dist-info/top_level.txt | 1 - .../site-packages/jsbeautifier/__init__.py | 312 - .../__pycache__/__init__.cpython-311.pyc | Bin 10494 -> 0 bytes .../__pycache__/__version__.cpython-311.pyc | Bin 220 -> 0 bytes .../site-packages/jsbeautifier/__version__.py | 1 - .../site-packages/jsbeautifier/cli/__init__.py | 243 - .../cli/__pycache__/__init__.cpython-311.pyc | Bin 9989 -> 0 bytes .../site-packages/jsbeautifier/core/__init__.py | 1 - .../core/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../core/__pycache__/directives.cpython-311.pyc | Bin 2026 -> 0 bytes .../core/__pycache__/inputscanner.cpython-311.pyc | Bin 6062 -> 0 bytes .../core/__pycache__/options.cpython-311.pyc | Bin 8461 -> 0 bytes .../core/__pycache__/output.cpython-311.pyc | Bin 18665 -> 0 bytes .../core/__pycache__/pattern.cpython-311.pyc | Bin 3594 -> 0 bytes .../__pycache__/templatablepattern.cpython-311.pyc | Bin 10228 -> 0 bytes .../core/__pycache__/token.cpython-311.pyc | Bin 939 -> 0 bytes .../core/__pycache__/tokenizer.cpython-311.pyc | Bin 6183 -> 0 bytes .../core/__pycache__/tokenstream.cpython-311.pyc | Bin 2878 -> 0 bytes .../__pycache__/whitespacepattern.cpython-311.pyc | Bin 2912 -> 0 bytes .../site-packages/jsbeautifier/core/directives.py | 55 - .../jsbeautifier/core/inputscanner.py | 140 - .../site-packages/jsbeautifier/core/options.py | 230 - .../site-packages/jsbeautifier/core/output.py | 352 - .../site-packages/jsbeautifier/core/pattern.py | 83 - .../jsbeautifier/core/templatablepattern.py | 192 - .../site-packages/jsbeautifier/core/token.py | 38 - .../site-packages/jsbeautifier/core/tokenizer.py | 138 - .../site-packages/jsbeautifier/core/tokenstream.py | 74 - .../jsbeautifier/core/whitespacepattern.py | 73 - .../jsbeautifier/javascript/__init__.py | 1 - .../__pycache__/__init__.cpython-311.pyc | Bin 207 -> 0 bytes .../javascript/__pycache__/acorn.cpython-311.pyc | Bin 8737 -> 0 bytes .../__pycache__/beautifier.cpython-311.pyc | Bin 64586 -> 0 bytes .../javascript/__pycache__/options.cpython-311.pyc | Bin 3223 -> 0 bytes .../__pycache__/tokenizer.cpython-311.pyc | Bin 29144 -> 0 bytes .../site-packages/jsbeautifier/javascript/acorn.py | 94 - .../jsbeautifier/javascript/beautifier.py | 1647 - .../jsbeautifier/javascript/options.py | 102 - .../jsbeautifier/javascript/tokenizer.py | 634 - .../site-packages/jsbeautifier/tests/__init__.py | 1 - .../tests/__pycache__/__init__.cpython-311.pyc | Bin 202 -> 0 bytes .../__pycache__/testindentation.cpython-311.pyc | Bin 2719 -> 0 bytes .../jsbeautifier/tests/generated/__init__.py | 1 - .../generated/__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../generated/__pycache__/tests.cpython-311.pyc | Bin 188663 -> 0 bytes .../jsbeautifier/tests/generated/tests.py | 10468 --- .../jsbeautifier/tests/testindentation.py | 49 - .../jsbeautifier/unpackers/__init__.py | 73 - .../unpackers/__pycache__/__init__.cpython-311.pyc | Bin 3804 -> 0 bytes .../__pycache__/evalbased.cpython-311.pyc | Bin 1742 -> 0 bytes .../javascriptobfuscator.cpython-311.pyc | Bin 2301 -> 0 bytes .../__pycache__/myobfuscate.cpython-311.pyc | Bin 3081 -> 0 bytes .../unpackers/__pycache__/packer.cpython-311.pyc | Bin 7508 -> 0 bytes .../__pycache__/urlencode.cpython-311.pyc | Bin 1003 -> 0 bytes .../jsbeautifier/unpackers/evalbased.py | 44 - .../jsbeautifier/unpackers/javascriptobfuscator.py | 61 - .../jsbeautifier/unpackers/myobfuscate.py | 90 - .../site-packages/jsbeautifier/unpackers/packer.py | 161 - .../jsbeautifier/unpackers/tests/__init__.py | 2 - .../tests/__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../testjavascriptobfuscator.cpython-311.pyc | Bin 3519 -> 0 bytes .../__pycache__/testmyobfuscate.cpython-311.pyc | Bin 3075 -> 0 bytes .../tests/__pycache__/testpacker.cpython-311.pyc | Bin 5054 -> 0 bytes .../__pycache__/testurlencode.cpython-311.pyc | Bin 2480 -> 0 bytes .../unpackers/tests/testjavascriptobfuscator.py | 59 - .../unpackers/tests/testmyobfuscate.py | 48 - .../jsbeautifier/unpackers/tests/testpacker.py | 73 - .../jsbeautifier/unpackers/tests/testurlencode.py | 46 - .../jsbeautifier/unpackers/urlencode.py | 36 - .../litestar-2.7.1.dist-info/INSTALLER | 1 - .../litestar-2.7.1.dist-info/METADATA | 673 - .../site-packages/litestar-2.7.1.dist-info/RECORD | 686 - .../litestar-2.7.1.dist-info/REQUESTED | 0 .../site-packages/litestar-2.7.1.dist-info/WHEEL | 4 - .../litestar-2.7.1.dist-info/entry_points.txt | 2 - .../litestar-2.7.1.dist-info/licenses/LICENSE | 21 - .../python3.11/site-packages/litestar/__init__.py | 33 - .../python3.11/site-packages/litestar/__main__.py | 10 - .../litestar/__pycache__/__init__.cpython-311.pyc | Bin 1138 -> 0 bytes .../litestar/__pycache__/__main__.cpython-311.pyc | Bin 553 -> 0 bytes .../__pycache__/_multipart.cpython-311.pyc | Bin 8023 -> 0 bytes .../litestar/__pycache__/_parsers.cpython-311.pyc | Bin 4372 -> 0 bytes .../litestar/__pycache__/app.cpython-311.pyc | Bin 49769 -> 0 bytes .../__pycache__/background_tasks.cpython-311.pyc | Bin 3930 -> 0 bytes .../__pycache__/concurrency.cpython-311.pyc | Bin 5261 -> 0 bytes .../litestar/__pycache__/constants.cpython-311.pyc | Bin 3442 -> 0 bytes .../__pycache__/controller.cpython-311.pyc | Bin 9719 -> 0 bytes .../__pycache__/data_extractors.cpython-311.pyc | Bin 23608 -> 0 bytes .../litestar/__pycache__/di.cpython-311.pyc | Bin 4721 -> 0 bytes .../litestar/__pycache__/enums.cpython-311.pyc | Bin 3804 -> 0 bytes .../__pycache__/file_system.cpython-311.pyc | Bin 7946 -> 0 bytes .../__pycache__/pagination.cpython-311.pyc | Bin 11801 -> 0 bytes .../litestar/__pycache__/params.cpython-311.pyc | Bin 16001 -> 0 bytes .../litestar/__pycache__/router.cpython-311.pyc | Bin 19576 -> 0 bytes .../__pycache__/status_codes.cpython-311.pyc | Bin 6311 -> 0 bytes .../litestar/__pycache__/typing.cpython-311.pyc | Bin 35878 -> 0 bytes .../site-packages/litestar/_asgi/__init__.py | 3 - .../_asgi/__pycache__/__init__.cpython-311.pyc | Bin 289 -> 0 bytes .../_asgi/__pycache__/asgi_router.cpython-311.pyc | Bin 9201 -> 0 bytes .../_asgi/__pycache__/utils.cpython-311.pyc | Bin 2149 -> 0 bytes .../site-packages/litestar/_asgi/asgi_router.py | 184 - .../litestar/_asgi/routing_trie/__init__.py | 6 - .../__pycache__/__init__.cpython-311.pyc | Bin 614 -> 0 bytes .../__pycache__/mapping.cpython-311.pyc | Bin 8784 -> 0 bytes .../__pycache__/traversal.cpython-311.pyc | Bin 7826 -> 0 bytes .../routing_trie/__pycache__/types.cpython-311.pyc | Bin 2798 -> 0 bytes .../__pycache__/validate.cpython-311.pyc | Bin 2362 -> 0 bytes .../litestar/_asgi/routing_trie/mapping.py | 221 - .../litestar/_asgi/routing_trie/traversal.py | 170 - .../litestar/_asgi/routing_trie/types.py | 85 - .../litestar/_asgi/routing_trie/validate.py | 47 - .../site-packages/litestar/_asgi/utils.py | 44 - .../site-packages/litestar/_kwargs/__init__.py | 3 - .../_kwargs/__pycache__/__init__.cpython-311.pyc | Bin 278 -> 0 bytes .../_kwargs/__pycache__/cleanup.cpython-311.pyc | Bin 6544 -> 0 bytes .../__pycache__/dependencies.cpython-311.pyc | Bin 5733 -> 0 bytes .../_kwargs/__pycache__/extractors.cpython-311.pyc | Bin 20001 -> 0 bytes .../__pycache__/kwargs_model.cpython-311.pyc | Bin 22080 -> 0 bytes .../parameter_definition.cpython-311.pyc | Bin 3656 -> 0 bytes .../site-packages/litestar/_kwargs/cleanup.py | 117 - .../site-packages/litestar/_kwargs/dependencies.py | 119 - .../site-packages/litestar/_kwargs/extractors.py | 492 - .../site-packages/litestar/_kwargs/kwargs_model.py | 479 - .../litestar/_kwargs/parameter_definition.py | 81 - .../site-packages/litestar/_layers/__init__.py | 0 .../_layers/__pycache__/__init__.cpython-311.pyc | Bin 200 -> 0 bytes .../_layers/__pycache__/utils.cpython-311.pyc | Bin 2457 -> 0 bytes .../site-packages/litestar/_layers/utils.py | 34 - .../site-packages/litestar/_multipart.py | 163 - .../site-packages/litestar/_openapi/__init__.py | 0 .../_openapi/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../__pycache__/datastructures.cpython-311.pyc | Bin 10400 -> 0 bytes .../__pycache__/parameters.cpython-311.pyc | Bin 12657 -> 0 bytes .../_openapi/__pycache__/path_item.cpython-311.pyc | Bin 7273 -> 0 bytes .../_openapi/__pycache__/plugin.cpython-311.pyc | Bin 4935 -> 0 bytes .../__pycache__/request_body.cpython-311.pyc | Bin 2364 -> 0 bytes .../_openapi/__pycache__/responses.cpython-311.pyc | Bin 17560 -> 0 bytes .../_openapi/__pycache__/utils.cpython-311.pyc | Bin 2389 -> 0 bytes .../litestar/_openapi/datastructures.py | 179 - .../site-packages/litestar/_openapi/parameters.py | 233 - .../site-packages/litestar/_openapi/path_item.py | 137 - .../site-packages/litestar/_openapi/plugin.py | 75 - .../litestar/_openapi/request_body.py | 51 - .../site-packages/litestar/_openapi/responses.py | 335 - .../_openapi/schema_generation/__init__.py | 7 - .../__pycache__/__init__.cpython-311.pyc | Bin 377 -> 0 bytes .../__pycache__/constrained_fields.cpython-311.pyc | Bin 4245 -> 0 bytes .../__pycache__/examples.cpython-311.pyc | Bin 4767 -> 0 bytes .../__pycache__/schema.cpython-311.pyc | Bin 33741 -> 0 bytes .../__pycache__/utils.cpython-311.pyc | Bin 6005 -> 0 bytes .../schema_generation/constrained_fields.py | 91 - .../_openapi/schema_generation/examples.py | 84 - .../_openapi/schema_generation/plugins/__init__.py | 16 - .../plugins/__pycache__/__init__.cpython-311.pyc | Bin 689 -> 0 bytes .../plugins/__pycache__/dataclass.cpython-311.pyc | Bin 2889 -> 0 bytes .../plugins/__pycache__/pagination.cpython-311.pyc | Bin 3789 -> 0 bytes .../plugins/__pycache__/struct.cpython-311.pyc | Bin 3411 -> 0 bytes .../plugins/__pycache__/typed_dict.cpython-311.pyc | Bin 2197 -> 0 bytes .../schema_generation/plugins/dataclass.py | 36 - .../schema_generation/plugins/pagination.py | 60 - .../_openapi/schema_generation/plugins/struct.py | 44 - .../schema_generation/plugins/typed_dict.py | 24 - .../litestar/_openapi/schema_generation/schema.py | 616 - .../litestar/_openapi/schema_generation/utils.py | 114 - .../_openapi/typescript_converter/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 222 -> 0 bytes .../__pycache__/converter.cpython-311.pyc | Bin 15770 -> 0 bytes .../__pycache__/schema_parsing.cpython-311.pyc | Bin 8656 -> 0 bytes .../__pycache__/types.cpython-311.pyc | Bin 14996 -> 0 bytes .../_openapi/typescript_converter/converter.py | 308 - .../typescript_converter/schema_parsing.py | 150 - .../_openapi/typescript_converter/types.py | 308 - .../site-packages/litestar/_openapi/utils.py | 46 - .../python3.11/site-packages/litestar/_parsers.py | 67 - .../site-packages/litestar/_signature/__init__.py | 3 - .../__pycache__/__init__.cpython-311.pyc | Bin 277 -> 0 bytes .../_signature/__pycache__/model.cpython-311.pyc | Bin 15312 -> 0 bytes .../_signature/__pycache__/types.cpython-311.pyc | Bin 1054 -> 0 bytes .../_signature/__pycache__/utils.cpython-311.pyc | Bin 3189 -> 0 bytes .../site-packages/litestar/_signature/model.py | 316 - .../site-packages/litestar/_signature/types.py | 11 - .../site-packages/litestar/_signature/utils.py | 58 - venv/lib/python3.11/site-packages/litestar/app.py | 880 - .../site-packages/litestar/background_tasks.py | 74 - .../site-packages/litestar/channels/__init__.py | 5 - .../channels/__pycache__/__init__.cpython-311.pyc | Bin 423 -> 0 bytes .../channels/__pycache__/plugin.cpython-311.pyc | Bin 23104 -> 0 bytes .../__pycache__/subscriber.cpython-311.pyc | Bin 8595 -> 0 bytes .../litestar/channels/backends/__init__.py | 0 .../backends/__pycache__/__init__.cpython-311.pyc | Bin 210 -> 0 bytes .../backends/__pycache__/asyncpg.cpython-311.pyc | Bin 6422 -> 0 bytes .../backends/__pycache__/base.cpython-311.pyc | Bin 2607 -> 0 bytes .../backends/__pycache__/memory.cpython-311.pyc | Bin 5024 -> 0 bytes .../backends/__pycache__/psycopg.cpython-311.pyc | Bin 5220 -> 0 bytes .../backends/__pycache__/redis.cpython-311.pyc | Bin 17950 -> 0 bytes .../channels/backends/_redis_flushall_streams.lua | 15 - .../channels/backends/_redis_pubsub_publish.lua | 5 - .../channels/backends/_redis_xadd_expire.lua | 13 - .../litestar/channels/backends/asyncpg.py | 90 - .../litestar/channels/backends/base.py | 41 - .../litestar/channels/backends/memory.py | 84 - .../litestar/channels/backends/psycopg.py | 54 - .../litestar/channels/backends/redis.py | 277 - .../site-packages/litestar/channels/plugin.py | 359 - .../site-packages/litestar/channels/subscriber.py | 135 - .../site-packages/litestar/cli/__init__.py | 29 - .../cli/__pycache__/__init__.cpython-311.pyc | Bin 1276 -> 0 bytes .../cli/__pycache__/_utils.cpython-311.pyc | Bin 34239 -> 0 bytes .../litestar/cli/__pycache__/main.cpython-311.pyc | Bin 2459 -> 0 bytes .../site-packages/litestar/cli/_utils.py | 562 - .../litestar/cli/commands/__init__.py | 0 .../commands/__pycache__/__init__.cpython-311.pyc | Bin 205 -> 0 bytes .../cli/commands/__pycache__/core.cpython-311.pyc | Bin 16664 -> 0 bytes .../commands/__pycache__/schema.cpython-311.pyc | Bin 4442 -> 0 bytes .../commands/__pycache__/sessions.cpython-311.pyc | Bin 3813 -> 0 bytes .../site-packages/litestar/cli/commands/core.py | 335 - .../site-packages/litestar/cli/commands/schema.py | 82 - .../litestar/cli/commands/sessions.py | 58 - .../python3.11/site-packages/litestar/cli/main.py | 37 - .../site-packages/litestar/concurrency.py | 109 - .../site-packages/litestar/config/__init__.py | 0 .../config/__pycache__/__init__.cpython-311.pyc | Bin 199 -> 0 bytes .../__pycache__/allowed_hosts.cpython-311.pyc | Bin 2360 -> 0 bytes .../config/__pycache__/app.cpython-311.pyc | Bin 10063 -> 0 bytes .../config/__pycache__/compression.cpython-311.pyc | Bin 3757 -> 0 bytes .../config/__pycache__/cors.cpython-311.pyc | Bin 7425 -> 0 bytes .../config/__pycache__/csrf.cpython-311.pyc | Bin 2257 -> 0 bytes .../__pycache__/response_cache.cpython-311.pyc | Bin 4460 -> 0 bytes .../site-packages/litestar/config/allowed_hosts.py | 43 - .../site-packages/litestar/config/app.py | 223 - .../site-packages/litestar/config/compression.py | 83 - .../site-packages/litestar/config/cors.py | 147 - .../site-packages/litestar/config/csrf.py | 42 - .../litestar/config/response_cache.py | 81 - .../site-packages/litestar/connection/__init__.py | 37 - .../__pycache__/__init__.cpython-311.pyc | Bin 2206 -> 0 bytes .../connection/__pycache__/base.cpython-311.pyc | Bin 15545 -> 0 bytes .../connection/__pycache__/request.cpython-311.pyc | Bin 12711 -> 0 bytes .../__pycache__/websocket.cpython-311.pyc | Bin 17142 -> 0 bytes .../site-packages/litestar/connection/base.py | 345 - .../site-packages/litestar/connection/request.py | 263 - .../site-packages/litestar/connection/websocket.py | 343 - .../python3.11/site-packages/litestar/constants.py | 57 - .../site-packages/litestar/contrib/__init__.py | 0 .../contrib/__pycache__/__init__.cpython-311.pyc | Bin 200 -> 0 bytes .../contrib/__pycache__/jinja.cpython-311.pyc | Bin 5921 -> 0 bytes .../contrib/__pycache__/mako.cpython-311.pyc | Bin 7742 -> 0 bytes .../contrib/__pycache__/minijinja.cpython-311.pyc | Bin 11427 -> 0 bytes .../contrib/__pycache__/minijnja.cpython-311.pyc | Bin 871 -> 0 bytes .../contrib/__pycache__/piccolo.cpython-311.pyc | Bin 6290 -> 0 bytes .../litestar/contrib/attrs/__init__.py | 3 - .../attrs/__pycache__/__init__.cpython-311.pyc | Bin 297 -> 0 bytes .../attrs_schema_plugin.cpython-311.pyc | Bin 3570 -> 0 bytes .../litestar/contrib/attrs/attrs_schema_plugin.py | 49 - .../litestar/contrib/htmx/__init__.py | 0 .../htmx/__pycache__/__init__.cpython-311.pyc | Bin 205 -> 0 bytes .../htmx/__pycache__/_utils.cpython-311.pyc | Bin 6781 -> 0 bytes .../htmx/__pycache__/request.cpython-311.pyc | Bin 7932 -> 0 bytes .../htmx/__pycache__/response.cpython-311.pyc | Bin 11070 -> 0 bytes .../contrib/htmx/__pycache__/types.cpython-311.pyc | Bin 2382 -> 0 bytes .../site-packages/litestar/contrib/htmx/_utils.py | 148 - .../site-packages/litestar/contrib/htmx/request.py | 113 - .../litestar/contrib/htmx/response.py | 200 - .../site-packages/litestar/contrib/htmx/types.py | 54 - .../site-packages/litestar/contrib/jinja.py | 114 - .../site-packages/litestar/contrib/jwt/__init__.py | 32 - .../jwt/__pycache__/__init__.cpython-311.pyc | Bin 1090 -> 0 bytes .../jwt/__pycache__/jwt_auth.cpython-311.pyc | Bin 481 -> 0 bytes .../jwt/__pycache__/jwt_token.cpython-311.pyc | Bin 354 -> 0 bytes .../jwt/__pycache__/middleware.cpython-311.pyc | Bin 432 -> 0 bytes .../site-packages/litestar/contrib/jwt/jwt_auth.py | 5 - .../litestar/contrib/jwt/jwt_token.py | 5 - .../litestar/contrib/jwt/middleware.py | 5 - .../site-packages/litestar/contrib/mako.py | 146 - .../site-packages/litestar/contrib/minijinja.py | 216 - .../site-packages/litestar/contrib/minijnja.py | 18 - .../litestar/contrib/opentelemetry/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 395 -> 0 bytes .../__pycache__/_utils.cpython-311.pyc | Bin 1365 -> 0 bytes .../__pycache__/config.cpython-311.pyc | Bin 4141 -> 0 bytes .../__pycache__/middleware.cpython-311.pyc | Bin 3440 -> 0 bytes .../litestar/contrib/opentelemetry/_utils.py | 31 - .../litestar/contrib/opentelemetry/config.py | 102 - .../litestar/contrib/opentelemetry/middleware.py | 60 - .../site-packages/litestar/contrib/piccolo.py | 107 - .../litestar/contrib/prometheus/__init__.py | 5 - .../__pycache__/__init__.cpython-311.pyc | Bin 447 -> 0 bytes .../prometheus/__pycache__/config.cpython-311.pyc | Bin 3378 -> 0 bytes .../__pycache__/controller.cpython-311.pyc | Bin 2540 -> 0 bytes .../__pycache__/middleware.cpython-311.pyc | Bin 11494 -> 0 bytes .../litestar/contrib/prometheus/config.py | 64 - .../litestar/contrib/prometheus/controller.py | 53 - .../litestar/contrib/prometheus/middleware.py | 181 - .../litestar/contrib/pydantic/__init__.py | 69 - .../pydantic/__pycache__/__init__.cpython-311.pyc | Bin 3609 -> 0 bytes .../pydantic/__pycache__/config.cpython-311.pyc | Bin 207 -> 0 bytes .../__pycache__/pydantic_di_plugin.cpython-311.pyc | Bin 2541 -> 0 bytes .../pydantic_dto_factory.cpython-311.pyc | Bin 6096 -> 0 bytes .../pydantic_init_plugin.cpython-311.pyc | Bin 11810 -> 0 bytes .../pydantic_schema_plugin.cpython-311.pyc | Bin 14566 -> 0 bytes .../pydantic/__pycache__/utils.cpython-311.pyc | Bin 10487 -> 0 bytes .../litestar/contrib/pydantic/config.py | 0 .../contrib/pydantic/pydantic_di_plugin.py | 26 - .../contrib/pydantic/pydantic_dto_factory.py | 110 - .../contrib/pydantic/pydantic_init_plugin.py | 182 - .../contrib/pydantic/pydantic_schema_plugin.py | 317 - .../litestar/contrib/pydantic/utils.py | 214 - .../litestar/contrib/repository/__init__.py | 20 - .../__pycache__/__init__.cpython-311.pyc | Bin 1212 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 1258 -> 0 bytes .../repository/__pycache__/filters.cpython-311.pyc | Bin 1242 -> 0 bytes .../__pycache__/handlers.cpython-311.pyc | Bin 1248 -> 0 bytes .../repository/__pycache__/testing.cpython-311.pyc | Bin 1269 -> 0 bytes .../litestar/contrib/repository/abc/__init__.py | 20 - .../abc/__pycache__/__init__.cpython-311.pyc | Bin 1231 -> 0 bytes .../litestar/contrib/repository/exceptions.py | 20 - .../litestar/contrib/repository/filters.py | 20 - .../litestar/contrib/repository/handlers.py | 20 - .../litestar/contrib/repository/testing.py | 20 - .../litestar/contrib/sqlalchemy/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 211 -> 0 bytes .../sqlalchemy/__pycache__/base.cpython-311.pyc | Bin 1044 -> 0 bytes .../sqlalchemy/__pycache__/dto.cpython-311.pyc | Bin 412 -> 0 bytes .../sqlalchemy/__pycache__/types.cpython-311.pyc | Bin 487 -> 0 bytes .../litestar/contrib/sqlalchemy/base.py | 38 - .../litestar/contrib/sqlalchemy/dto.py | 5 - .../contrib/sqlalchemy/plugins/__init__.py | 28 - .../plugins/__pycache__/__init__.cpython-311.pyc | Bin 895 -> 0 bytes .../__pycache__/serialization.cpython-311.pyc | Bin 414 -> 0 bytes .../contrib/sqlalchemy/plugins/init/__init__.py | 23 - .../init/__pycache__/__init__.cpython-311.pyc | Bin 734 -> 0 bytes .../init/__pycache__/plugin.cpython-311.pyc | Bin 403 -> 0 bytes .../sqlalchemy/plugins/init/config/__init__.py | 16 - .../config/__pycache__/__init__.cpython-311.pyc | Bin 720 -> 0 bytes .../config/__pycache__/asyncio.cpython-311.pyc | Bin 1166 -> 0 bytes .../init/config/__pycache__/common.cpython-311.pyc | Bin 684 -> 0 bytes .../init/config/__pycache__/compat.cpython-311.pyc | Bin 1819 -> 0 bytes .../init/config/__pycache__/engine.cpython-311.pyc | Bin 388 -> 0 bytes .../init/config/__pycache__/sync.cpython-311.pyc | Bin 1136 -> 0 bytes .../sqlalchemy/plugins/init/config/asyncio.py | 24 - .../sqlalchemy/plugins/init/config/common.py | 15 - .../sqlalchemy/plugins/init/config/compat.py | 22 - .../sqlalchemy/plugins/init/config/engine.py | 5 - .../contrib/sqlalchemy/plugins/init/config/sync.py | 24 - .../contrib/sqlalchemy/plugins/init/plugin.py | 5 - .../contrib/sqlalchemy/plugins/serialization.py | 5 - .../contrib/sqlalchemy/repository/__init__.py | 11 - .../__pycache__/__init__.cpython-311.pyc | Bin 525 -> 0 bytes .../repository/__pycache__/_async.cpython-311.pyc | Bin 389 -> 0 bytes .../repository/__pycache__/_sync.cpython-311.pyc | Bin 389 -> 0 bytes .../repository/__pycache__/_util.cpython-311.pyc | Bin 446 -> 0 bytes .../repository/__pycache__/types.cpython-311.pyc | Bin 501 -> 0 bytes .../contrib/sqlalchemy/repository/_async.py | 5 - .../contrib/sqlalchemy/repository/_sync.py | 7 - .../contrib/sqlalchemy/repository/_util.py | 8 - .../contrib/sqlalchemy/repository/types.py | 15 - .../litestar/contrib/sqlalchemy/types.py | 11 - .../site-packages/litestar/controller.py | 262 - .../site-packages/litestar/data_extractors.py | 443 - .../litestar/datastructures/__init__.py | 39 - .../__pycache__/__init__.cpython-311.pyc | Bin 1221 -> 0 bytes .../__pycache__/cookie.cpython-311.pyc | Bin 5293 -> 0 bytes .../__pycache__/headers.cpython-311.pyc | Bin 30616 -> 0 bytes .../__pycache__/multi_dicts.cpython-311.pyc | Bin 6713 -> 0 bytes .../__pycache__/response_header.cpython-311.pyc | Bin 2338 -> 0 bytes .../__pycache__/state.cpython-311.pyc | Bin 13750 -> 0 bytes .../__pycache__/upload_file.cpython-311.pyc | Bin 4572 -> 0 bytes .../datastructures/__pycache__/url.cpython-311.pyc | Bin 10120 -> 0 bytes .../litestar/datastructures/cookie.py | 112 - .../litestar/datastructures/headers.py | 534 - .../litestar/datastructures/multi_dicts.py | 106 - .../litestar/datastructures/response_header.py | 125 - .../site-packages/litestar/datastructures/state.py | 313 - .../litestar/datastructures/upload_file.py | 101 - .../site-packages/litestar/datastructures/url.py | 262 - venv/lib/python3.11/site-packages/litestar/di.py | 117 - .../site-packages/litestar/dto/__init__.py | 20 - .../dto/__pycache__/__init__.cpython-311.pyc | Bin 767 -> 0 bytes .../dto/__pycache__/_backend.cpython-311.pyc | Bin 37072 -> 0 bytes .../__pycache__/_codegen_backend.cpython-311.pyc | Bin 25679 -> 0 bytes .../dto/__pycache__/_types.cpython-311.pyc | Bin 6040 -> 0 bytes .../dto/__pycache__/base_dto.cpython-311.pyc | Bin 17356 -> 0 bytes .../dto/__pycache__/config.cpython-311.pyc | Bin 2105 -> 0 bytes .../__pycache__/data_structures.cpython-311.pyc | Bin 5659 -> 0 bytes .../dto/__pycache__/dataclass_dto.cpython-311.pyc | Bin 3798 -> 0 bytes .../litestar/dto/__pycache__/field.cpython-311.pyc | Bin 2083 -> 0 bytes .../dto/__pycache__/msgspec_dto.cpython-311.pyc | Bin 3747 -> 0 bytes .../litestar/dto/__pycache__/types.cpython-311.pyc | Bin 645 -> 0 bytes .../site-packages/litestar/dto/_backend.py | 911 - .../site-packages/litestar/dto/_codegen_backend.py | 541 - .../site-packages/litestar/dto/_types.py | 148 - .../site-packages/litestar/dto/base_dto.py | 313 - .../site-packages/litestar/dto/config.py | 66 - .../site-packages/litestar/dto/data_structures.py | 116 - .../site-packages/litestar/dto/dataclass_dto.py | 58 - .../python3.11/site-packages/litestar/dto/field.py | 50 - .../site-packages/litestar/dto/msgspec_dto.py | 54 - .../python3.11/site-packages/litestar/dto/types.py | 13 - .../lib/python3.11/site-packages/litestar/enums.py | 90 - .../site-packages/litestar/events/__init__.py | 4 - .../events/__pycache__/__init__.cpython-311.pyc | Bin 418 -> 0 bytes .../events/__pycache__/emitter.cpython-311.pyc | Bin 7064 -> 0 bytes .../events/__pycache__/listener.cpython-311.pyc | Bin 3902 -> 0 bytes .../site-packages/litestar/events/emitter.py | 134 - .../site-packages/litestar/events/listener.py | 76 - .../site-packages/litestar/exceptions/__init__.py | 42 - .../__pycache__/__init__.cpython-311.pyc | Bin 1358 -> 0 bytes .../__pycache__/base_exceptions.cpython-311.pyc | Bin 4054 -> 0 bytes .../__pycache__/dto_exceptions.cpython-311.pyc | Bin 916 -> 0 bytes .../__pycache__/http_exceptions.cpython-311.pyc | Bin 7746 -> 0 bytes .../websocket_exceptions.cpython-311.pyc | Bin 2405 -> 0 bytes .../litestar/exceptions/base_exceptions.py | 57 - .../litestar/exceptions/dto_exceptions.py | 13 - .../litestar/exceptions/http_exceptions.py | 154 - .../litestar/exceptions/websocket_exceptions.py | 40 - .../site-packages/litestar/file_system.py | 154 - .../site-packages/litestar/handlers/__init__.py | 29 - .../handlers/__pycache__/__init__.cpython-311.pyc | Bin 919 -> 0 bytes .../__pycache__/asgi_handlers.cpython-311.pyc | Bin 5223 -> 0 bytes .../handlers/__pycache__/base.cpython-311.pyc | Bin 30837 -> 0 bytes .../litestar/handlers/asgi_handlers.py | 90 - .../site-packages/litestar/handlers/base.py | 577 - .../litestar/handlers/http_handlers/__init__.py | 15 - .../__pycache__/__init__.cpython-311.pyc | Bin 584 -> 0 bytes .../__pycache__/_utils.cpython-311.pyc | Bin 9051 -> 0 bytes .../http_handlers/__pycache__/base.cpython-311.pyc | Bin 32501 -> 0 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 58348 -> 0 bytes .../litestar/handlers/http_handlers/_utils.py | 221 - .../litestar/handlers/http_handlers/base.py | 591 - .../litestar/handlers/http_handlers/decorators.py | 1096 - .../handlers/websocket_handlers/__init__.py | 16 - .../__pycache__/__init__.cpython-311.pyc | Bin 670 -> 0 bytes .../__pycache__/_utils.cpython-311.pyc | Bin 10594 -> 0 bytes .../__pycache__/listener.cpython-311.pyc | Bin 18940 -> 0 bytes .../__pycache__/route_handler.cpython-311.pyc | Bin 6002 -> 0 bytes .../litestar/handlers/websocket_handlers/_utils.py | 154 - .../handlers/websocket_handlers/listener.py | 417 - .../handlers/websocket_handlers/route_handler.py | 99 - .../site-packages/litestar/logging/__init__.py | 3 - .../logging/__pycache__/__init__.cpython-311.pyc | Bin 361 -> 0 bytes .../logging/__pycache__/_utils.cpython-311.pyc | Bin 1193 -> 0 bytes .../logging/__pycache__/config.cpython-311.pyc | Bin 21378 -> 0 bytes .../__pycache__/picologging.cpython-311.pyc | Bin 2270 -> 0 bytes .../logging/__pycache__/standard.cpython-311.pyc | Bin 3336 -> 0 bytes .../site-packages/litestar/logging/_utils.py | 22 - .../site-packages/litestar/logging/config.py | 509 - .../site-packages/litestar/logging/picologging.py | 39 - .../site-packages/litestar/logging/standard.py | 47 - .../site-packages/litestar/middleware/__init__.py | 17 - .../__pycache__/__init__.cpython-311.pyc | Bin 577 -> 0 bytes .../middleware/__pycache__/_utils.cpython-311.pyc | Bin 3337 -> 0 bytes .../__pycache__/allowed_hosts.cpython-311.pyc | Bin 5598 -> 0 bytes .../__pycache__/authentication.cpython-311.pyc | Bin 5305 -> 0 bytes .../middleware/__pycache__/base.cpython-311.pyc | Bin 7186 -> 0 bytes .../middleware/__pycache__/cors.cpython-311.pyc | Bin 5093 -> 0 bytes .../middleware/__pycache__/csrf.cpython-311.pyc | Bin 9676 -> 0 bytes .../middleware/__pycache__/logging.cpython-311.pyc | Bin 16532 -> 0 bytes .../__pycache__/rate_limit.cpython-311.pyc | Bin 14990 -> 0 bytes .../__pycache__/response_cache.cpython-311.pyc | Bin 4386 -> 0 bytes .../site-packages/litestar/middleware/_utils.py | 69 - .../litestar/middleware/allowed_hosts.py | 79 - .../litestar/middleware/authentication.py | 108 - .../site-packages/litestar/middleware/base.py | 151 - .../litestar/middleware/compression/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 441 -> 0 bytes .../__pycache__/brotli_facade.cpython-311.pyc | Bin 3028 -> 0 bytes .../compression/__pycache__/facade.cpython-311.pyc | Bin 2116 -> 0 bytes .../__pycache__/gzip_facade.cpython-311.pyc | Bin 2152 -> 0 bytes .../__pycache__/middleware.cpython-311.pyc | Bin 8351 -> 0 bytes .../middleware/compression/brotli_facade.py | 51 - .../litestar/middleware/compression/facade.py | 47 - .../litestar/middleware/compression/gzip_facade.py | 32 - .../litestar/middleware/compression/middleware.py | 191 - .../site-packages/litestar/middleware/cors.py | 84 - .../site-packages/litestar/middleware/csrf.py | 190 - .../litestar/middleware/exceptions/__init__.py | 3 - .../__pycache__/__init__.cpython-311.pyc | Bin 336 -> 0 bytes .../__pycache__/_debug_response.cpython-311.pyc | Bin 10669 -> 0 bytes .../__pycache__/middleware.cpython-311.pyc | Bin 15666 -> 0 bytes .../middleware/exceptions/_debug_response.py | 210 - .../litestar/middleware/exceptions/middleware.py | 316 - .../middleware/exceptions/templates/body.html | 20 - .../middleware/exceptions/templates/frame.html | 12 - .../middleware/exceptions/templates/scripts.js | 27 - .../middleware/exceptions/templates/styles.css | 121 - .../site-packages/litestar/middleware/logging.py | 360 - .../litestar/middleware/rate_limit.py | 275 - .../litestar/middleware/response_cache.py | 58 - .../litestar/middleware/session/__init__.py | 3 - .../session/__pycache__/__init__.cpython-311.pyc | Bin 287 -> 0 bytes .../session/__pycache__/base.cpython-311.pyc | Bin 11124 -> 0 bytes .../__pycache__/client_side.cpython-311.pyc | Bin 15608 -> 0 bytes .../__pycache__/server_side.cpython-311.pyc | Bin 12648 -> 0 bytes .../litestar/middleware/session/base.py | 256 - .../litestar/middleware/session/client_side.py | 264 - .../litestar/middleware/session/server_side.py | 219 - .../site-packages/litestar/openapi/__init__.py | 5 - .../openapi/__pycache__/__init__.cpython-311.pyc | Bin 426 -> 0 bytes .../openapi/__pycache__/config.cpython-311.pyc | Bin 6524 -> 0 bytes .../openapi/__pycache__/controller.cpython-311.pyc | Bin 26502 -> 0 bytes .../__pycache__/datastructures.cpython-311.pyc | Bin 1507 -> 0 bytes .../site-packages/litestar/openapi/config.py | 153 - .../site-packages/litestar/openapi/controller.py | 604 - .../litestar/openapi/datastructures.py | 29 - .../litestar/openapi/spec/__init__.py | 68 - .../spec/__pycache__/__init__.cpython-311.pyc | Bin 2323 -> 0 bytes .../openapi/spec/__pycache__/base.cpython-311.pyc | Bin 4264 -> 0 bytes .../spec/__pycache__/callback.cpython-311.pyc | Bin 627 -> 0 bytes .../spec/__pycache__/components.cpython-311.pyc | Bin 3028 -> 0 bytes .../spec/__pycache__/contact.cpython-311.pyc | Bin 931 -> 0 bytes .../spec/__pycache__/discriminator.cpython-311.pyc | Bin 1378 -> 0 bytes .../spec/__pycache__/encoding.cpython-311.pyc | Bin 1375 -> 0 bytes .../openapi/spec/__pycache__/enums.cpython-311.pyc | Bin 1663 -> 0 bytes .../spec/__pycache__/example.cpython-311.pyc | Bin 977 -> 0 bytes .../external_documentation.cpython-311.pyc | Bin 928 -> 0 bytes .../spec/__pycache__/header.cpython-311.pyc | Bin 2591 -> 0 bytes .../openapi/spec/__pycache__/info.cpython-311.pyc | Bin 1534 -> 0 bytes .../spec/__pycache__/license.cpython-311.pyc | Bin 922 -> 0 bytes .../openapi/spec/__pycache__/link.cpython-311.pyc | Bin 2021 -> 0 bytes .../spec/__pycache__/media_type.cpython-311.pyc | Bin 1556 -> 0 bytes .../spec/__pycache__/oauth_flow.cpython-311.pyc | Bin 1049 -> 0 bytes .../spec/__pycache__/oauth_flows.cpython-311.pyc | Bin 1193 -> 0 bytes .../spec/__pycache__/open_api.cpython-311.pyc | Bin 2562 -> 0 bytes .../spec/__pycache__/operation.cpython-311.pyc | Bin 2460 -> 0 bytes .../spec/__pycache__/parameter.cpython-311.pyc | Bin 2260 -> 0 bytes .../spec/__pycache__/path_item.cpython-311.pyc | Bin 2175 -> 0 bytes .../openapi/spec/__pycache__/paths.cpython-311.pyc | Bin 480 -> 0 bytes .../spec/__pycache__/reference.cpython-311.pyc | Bin 1588 -> 0 bytes .../spec/__pycache__/request_body.cpython-311.pyc | Bin 1132 -> 0 bytes .../spec/__pycache__/response.cpython-311.pyc | Bin 1603 -> 0 bytes .../spec/__pycache__/responses.cpython-311.pyc | Bin 633 -> 0 bytes .../spec/__pycache__/schema.cpython-311.pyc | Bin 8205 -> 0 bytes .../security_requirement.cpython-311.pyc | Bin 430 -> 0 bytes .../__pycache__/security_scheme.cpython-311.pyc | Bin 2235 -> 0 bytes .../spec/__pycache__/server.cpython-311.pyc | Bin 1127 -> 0 bytes .../__pycache__/server_variable.cpython-311.pyc | Bin 1002 -> 0 bytes .../openapi/spec/__pycache__/tag.cpython-311.pyc | Bin 1327 -> 0 bytes .../openapi/spec/__pycache__/xml.cpython-311.pyc | Bin 1308 -> 0 bytes .../site-packages/litestar/openapi/spec/base.py | 56 - .../litestar/openapi/spec/callback.py | 24 - .../litestar/openapi/spec/components.py | 72 - .../site-packages/litestar/openapi/spec/contact.py | 21 - .../litestar/openapi/spec/discriminator.py | 25 - .../litestar/openapi/spec/encoding.py | 67 - .../site-packages/litestar/openapi/spec/enums.py | 41 - .../site-packages/litestar/openapi/spec/example.py | 33 - .../openapi/spec/external_documentation.py | 21 - .../site-packages/litestar/openapi/spec/header.py | 121 - .../site-packages/litestar/openapi/spec/info.py | 50 - .../site-packages/litestar/openapi/spec/license.py | 28 - .../site-packages/litestar/openapi/spec/link.py | 66 - .../litestar/openapi/spec/media_type.py | 51 - .../litestar/openapi/spec/oauth_flow.py | 36 - .../litestar/openapi/spec/oauth_flows.py | 28 - .../litestar/openapi/spec/open_api.py | 87 - .../litestar/openapi/spec/operation.py | 105 - .../litestar/openapi/spec/parameter.py | 136 - .../litestar/openapi/spec/path_item.py | 78 - .../site-packages/litestar/openapi/spec/paths.py | 27 - .../litestar/openapi/spec/reference.py | 38 - .../litestar/openapi/spec/request_body.py | 38 - .../litestar/openapi/spec/response.py | 48 - .../litestar/openapi/spec/responses.py | 44 - .../site-packages/litestar/openapi/spec/schema.py | 652 - .../litestar/openapi/spec/security_requirement.py | 30 - .../litestar/openapi/spec/security_scheme.py | 69 - .../site-packages/litestar/openapi/spec/server.py | 34 - .../litestar/openapi/spec/server_variable.py | 32 - .../site-packages/litestar/openapi/spec/tag.py | 32 - .../site-packages/litestar/openapi/spec/xml.py | 44 - .../site-packages/litestar/pagination.py | 342 - .../python3.11/site-packages/litestar/params.py | 383 - .../site-packages/litestar/plugins/__init__.py | 23 - .../plugins/__pycache__/__init__.cpython-311.pyc | Bin 658 -> 0 bytes .../plugins/__pycache__/base.cpython-311.pyc | Bin 17349 -> 0 bytes .../plugins/__pycache__/core.cpython-311.pyc | Bin 1880 -> 0 bytes .../plugins/__pycache__/sqlalchemy.cpython-311.pyc | Bin 1365 -> 0 bytes .../plugins/__pycache__/structlog.cpython-311.pyc | Bin 3356 -> 0 bytes .../site-packages/litestar/plugins/base.py | 323 - .../site-packages/litestar/plugins/core.py | 31 - .../site-packages/litestar/plugins/sqlalchemy.py | 54 - .../site-packages/litestar/plugins/structlog.py | 56 - .../lib/python3.11/site-packages/litestar/py.typed | 0 .../site-packages/litestar/repository/__init__.py | 14 - .../__pycache__/__init__.cpython-311.pyc | Bin 609 -> 0 bytes .../__pycache__/_exceptions.cpython-311.pyc | Bin 1069 -> 0 bytes .../__pycache__/_filters.cpython-311.pyc | Bin 4350 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 585 -> 0 bytes .../repository/__pycache__/filters.cpython-311.pyc | Bin 898 -> 0 bytes .../__pycache__/handlers.cpython-311.pyc | Bin 1250 -> 0 bytes .../litestar/repository/_exceptions.py | 15 - .../site-packages/litestar/repository/_filters.py | 117 - .../litestar/repository/abc/__init__.py | 7 - .../abc/__pycache__/__init__.cpython-311.pyc | Bin 373 -> 0 bytes .../abc/__pycache__/_async.cpython-311.pyc | Bin 13618 -> 0 bytes .../abc/__pycache__/_sync.cpython-311.pyc | Bin 13523 -> 0 bytes .../litestar/repository/abc/_async.py | 303 - .../site-packages/litestar/repository/abc/_sync.py | 305 - .../litestar/repository/exceptions.py | 7 - .../site-packages/litestar/repository/filters.py | 37 - .../site-packages/litestar/repository/handlers.py | 37 - .../litestar/repository/testing/__init__.py | 0 .../testing/__pycache__/__init__.cpython-311.pyc | Bin 211 -> 0 bytes .../generic_mock_repository.cpython-311.pyc | Bin 32712 -> 0 bytes .../repository/testing/generic_mock_repository.py | 784 - .../site-packages/litestar/response/__init__.py | 16 - .../response/__pycache__/__init__.cpython-311.pyc | Bin 624 -> 0 bytes .../response/__pycache__/base.cpython-311.pyc | Bin 21052 -> 0 bytes .../response/__pycache__/file.cpython-311.pyc | Bin 18534 -> 0 bytes .../response/__pycache__/redirect.cpython-311.pyc | Bin 7754 -> 0 bytes .../response/__pycache__/sse.cpython-311.pyc | Bin 11135 -> 0 bytes .../response/__pycache__/streaming.cpython-311.pyc | Bin 11735 -> 0 bytes .../response/__pycache__/template.cpython-311.pyc | Bin 7553 -> 0 bytes .../site-packages/litestar/response/base.py | 459 - .../site-packages/litestar/response/file.py | 386 - .../site-packages/litestar/response/redirect.py | 169 - .../site-packages/litestar/response/sse.py | 180 - .../site-packages/litestar/response/streaming.py | 239 - .../site-packages/litestar/response/template.py | 162 - .../python3.11/site-packages/litestar/router.py | 338 - .../site-packages/litestar/routes/__init__.py | 6 - .../routes/__pycache__/__init__.cpython-311.pyc | Bin 461 -> 0 bytes .../routes/__pycache__/asgi.cpython-311.pyc | Bin 2874 -> 0 bytes .../routes/__pycache__/base.cpython-311.pyc | Bin 10362 -> 0 bytes .../routes/__pycache__/http.cpython-311.pyc | Bin 17069 -> 0 bytes .../routes/__pycache__/websocket.cpython-311.pyc | Bin 4417 -> 0 bytes .../site-packages/litestar/routes/asgi.py | 54 - .../site-packages/litestar/routes/base.py | 195 - .../site-packages/litestar/routes/http.py | 327 - .../site-packages/litestar/routes/websocket.py | 86 - .../site-packages/litestar/security/__init__.py | 3 - .../security/__pycache__/__init__.cpython-311.pyc | Bin 300 -> 0 bytes .../security/__pycache__/base.cpython-311.pyc | Bin 8315 -> 0 bytes .../site-packages/litestar/security/base.py | 183 - .../litestar/security/jwt/__init__.py | 23 - .../jwt/__pycache__/__init__.cpython-311.pyc | Bin 733 -> 0 bytes .../security/jwt/__pycache__/auth.cpython-311.pyc | Bin 26027 -> 0 bytes .../jwt/__pycache__/middleware.cpython-311.pyc | Bin 8900 -> 0 bytes .../security/jwt/__pycache__/token.cpython-311.pyc | Bin 7141 -> 0 bytes .../site-packages/litestar/security/jwt/auth.py | 691 - .../litestar/security/jwt/middleware.py | 188 - .../site-packages/litestar/security/jwt/token.py | 119 - .../litestar/security/session_auth/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 430 -> 0 bytes .../session_auth/__pycache__/auth.cpython-311.pyc | Bin 6483 -> 0 bytes .../__pycache__/middleware.cpython-311.pyc | Bin 6705 -> 0 bytes .../litestar/security/session_auth/auth.py | 137 - .../litestar/security/session_auth/middleware.py | 125 - .../litestar/serialization/__init__.py | 19 - .../__pycache__/__init__.cpython-311.pyc | Bin 553 -> 0 bytes .../__pycache__/msgspec_hooks.cpython-311.pyc | Bin 11120 -> 0 bytes .../litestar/serialization/msgspec_hooks.py | 261 - .../litestar/static_files/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 443 -> 0 bytes .../static_files/__pycache__/base.cpython-311.pyc | Bin 7052 -> 0 bytes .../__pycache__/config.cpython-311.pyc | Bin 10192 -> 0 bytes .../site-packages/litestar/static_files/base.py | 141 - .../site-packages/litestar/static_files/config.py | 224 - .../site-packages/litestar/status_codes.py | 321 - .../site-packages/litestar/stores/__init__.py | 0 .../stores/__pycache__/__init__.cpython-311.pyc | Bin 199 -> 0 bytes .../stores/__pycache__/base.cpython-311.pyc | Bin 7661 -> 0 bytes .../stores/__pycache__/file.cpython-311.pyc | Bin 9799 -> 0 bytes .../stores/__pycache__/memory.cpython-311.pyc | Bin 7029 -> 0 bytes .../stores/__pycache__/redis.cpython-311.pyc | Bin 10088 -> 0 bytes .../stores/__pycache__/registry.cpython-311.pyc | Bin 3347 -> 0 bytes .../site-packages/litestar/stores/base.py | 145 - .../site-packages/litestar/stores/file.py | 170 - .../site-packages/litestar/stores/memory.py | 115 - .../site-packages/litestar/stores/redis.py | 204 - .../site-packages/litestar/stores/registry.py | 64 - .../site-packages/litestar/template/__init__.py | 4 - .../template/__pycache__/__init__.cpython-311.pyc | Bin 429 -> 0 bytes .../template/__pycache__/base.cpython-311.pyc | Bin 8587 -> 0 bytes .../template/__pycache__/config.cpython-311.pyc | Bin 3508 -> 0 bytes .../site-packages/litestar/template/base.py | 187 - .../site-packages/litestar/template/config.py | 57 - .../site-packages/litestar/testing/__init__.py | 16 - .../testing/__pycache__/__init__.cpython-311.pyc | Bin 825 -> 0 bytes .../testing/__pycache__/helpers.cpython-311.pyc | Bin 30082 -> 0 bytes .../__pycache__/life_span_handler.cpython-311.pyc | Bin 5410 -> 0 bytes .../__pycache__/request_factory.cpython-311.pyc | Bin 22745 -> 0 bytes .../testing/__pycache__/transport.cpython-311.pyc | Bin 12285 -> 0 bytes .../websocket_test_session.cpython-311.pyc | Bin 13624 -> 0 bytes .../litestar/testing/client/__init__.py | 36 - .../client/__pycache__/__init__.cpython-311.pyc | Bin 2091 -> 0 bytes .../__pycache__/async_client.cpython-311.pyc | Bin 17343 -> 0 bytes .../client/__pycache__/base.cpython-311.pyc | Bin 9397 -> 0 bytes .../client/__pycache__/sync_client.cpython-311.pyc | Bin 19167 -> 0 bytes .../litestar/testing/client/async_client.py | 534 - .../site-packages/litestar/testing/client/base.py | 180 - .../litestar/testing/client/sync_client.py | 593 - .../site-packages/litestar/testing/helpers.py | 561 - .../litestar/testing/life_span_handler.py | 78 - .../litestar/testing/request_factory.py | 565 - .../site-packages/litestar/testing/transport.py | 192 - .../litestar/testing/websocket_test_session.py | 248 - .../site-packages/litestar/types/__init__.py | 169 - .../types/__pycache__/__init__.cpython-311.pyc | Bin 4089 -> 0 bytes .../types/__pycache__/asgi_types.cpython-311.pyc | Bin 14027 -> 0 bytes .../__pycache__/builtin_types.cpython-311.pyc | Bin 946 -> 0 bytes .../__pycache__/callable_types.cpython-311.pyc | Bin 3380 -> 0 bytes .../__pycache__/composite_types.cpython-311.pyc | Bin 2623 -> 0 bytes .../types/__pycache__/empty.cpython-311.pyc | Bin 854 -> 0 bytes .../types/__pycache__/file_types.cpython-311.pyc | Bin 3731 -> 0 bytes .../types/__pycache__/helper_types.cpython-311.pyc | Bin 1673 -> 0 bytes .../__pycache__/internal_types.cpython-311.pyc | Bin 2912 -> 0 bytes .../types/__pycache__/protocols.cpython-311.pyc | Bin 4503 -> 0 bytes .../__pycache__/serialization.cpython-311.pyc | Bin 2826 -> 0 bytes .../site-packages/litestar/types/asgi_types.py | 343 - .../site-packages/litestar/types/builtin_types.py | 25 - .../site-packages/litestar/types/callable_types.py | 40 - .../litestar/types/composite_types.py | 56 - .../site-packages/litestar/types/empty.py | 16 - .../site-packages/litestar/types/file_types.py | 106 - .../site-packages/litestar/types/helper_types.py | 47 - .../site-packages/litestar/types/internal_types.py | 58 - .../site-packages/litestar/types/protocols.py | 113 - .../site-packages/litestar/types/serialization.py | 59 - .../python3.11/site-packages/litestar/typing.py | 636 - .../site-packages/litestar/utils/__init__.py | 86 - .../utils/__pycache__/__init__.cpython-311.pyc | Bin 2776 -> 0 bytes .../utils/__pycache__/compat.cpython-311.pyc | Bin 1318 -> 0 bytes .../utils/__pycache__/dataclass.cpython-311.pyc | Bin 5552 -> 0 bytes .../utils/__pycache__/deprecation.cpython-311.pyc | Bin 4935 -> 0 bytes .../utils/__pycache__/empty.cpython-311.pyc | Bin 1119 -> 0 bytes .../utils/__pycache__/helpers.cpython-311.pyc | Bin 3766 -> 0 bytes .../__pycache__/module_loader.cpython-311.pyc | Bin 4182 -> 0 bytes .../utils/__pycache__/path.cpython-311.pyc | Bin 1378 -> 0 bytes .../utils/__pycache__/predicates.cpython-311.pyc | Bin 13096 -> 0 bytes .../utils/__pycache__/sequence.cpython-311.pyc | Bin 1693 -> 0 bytes .../utils/__pycache__/signature.cpython-311.pyc | Bin 12352 -> 0 bytes .../utils/__pycache__/sync.cpython-311.pyc | Bin 4474 -> 0 bytes .../utils/__pycache__/typing.cpython-311.pyc | Bin 11547 -> 0 bytes .../utils/__pycache__/version.cpython-311.pyc | Bin 3395 -> 0 bytes .../utils/__pycache__/warnings.cpython-311.pyc | Bin 2914 -> 0 bytes .../site-packages/litestar/utils/compat.py | 27 - .../site-packages/litestar/utils/dataclass.py | 115 - .../site-packages/litestar/utils/deprecation.py | 111 - .../site-packages/litestar/utils/empty.py | 26 - .../site-packages/litestar/utils/helpers.py | 103 - .../site-packages/litestar/utils/module_loader.py | 92 - .../site-packages/litestar/utils/path.py | 35 - .../site-packages/litestar/utils/predicates.py | 339 - .../site-packages/litestar/utils/scope/__init__.py | 62 - .../scope/__pycache__/__init__.cpython-311.pyc | Bin 2727 -> 0 bytes .../utils/scope/__pycache__/state.cpython-311.pyc | Bin 6672 -> 0 bytes .../site-packages/litestar/utils/scope/state.py | 158 - .../site-packages/litestar/utils/sequence.py | 28 - .../site-packages/litestar/utils/signature.py | 267 - .../site-packages/litestar/utils/sync.py | 79 - .../site-packages/litestar/utils/typing.py | 284 - .../site-packages/litestar/utils/version.py | 62 - .../site-packages/litestar/utils/warnings.py | 51 - .../site-packages/markdown_it/__init__.py | 5 - .../__pycache__/__init__.cpython-311.pyc | Bin 344 -> 0 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 583 -> 0 bytes .../__pycache__/_punycode.cpython-311.pyc | Bin 2955 -> 0 bytes .../markdown_it/__pycache__/main.cpython-311.pyc | Bin 18896 -> 0 bytes .../__pycache__/parser_block.cpython-311.pyc | Bin 4310 -> 0 bytes .../__pycache__/parser_core.cpython-311.pyc | Bin 2151 -> 0 bytes .../__pycache__/parser_inline.cpython-311.pyc | Bin 5326 -> 0 bytes .../__pycache__/renderer.cpython-311.pyc | Bin 11819 -> 0 bytes .../markdown_it/__pycache__/ruler.cpython-311.pyc | Bin 13283 -> 0 bytes .../markdown_it/__pycache__/token.cpython-311.pyc | Bin 9029 -> 0 bytes .../markdown_it/__pycache__/tree.cpython-311.pyc | Bin 16904 -> 0 bytes .../markdown_it/__pycache__/utils.cpython-311.pyc | Bin 9222 -> 0 bytes .../site-packages/markdown_it/_compat.py | 11 - .../site-packages/markdown_it/_punycode.py | 67 - .../site-packages/markdown_it/cli/__init__.py | 0 .../cli/__pycache__/__init__.cpython-311.pyc | Bin 199 -> 0 bytes .../cli/__pycache__/parse.cpython-311.pyc | Bin 5249 -> 0 bytes .../site-packages/markdown_it/cli/parse.py | 109 - .../site-packages/markdown_it/common/__init__.py | 0 .../common/__pycache__/__init__.cpython-311.pyc | Bin 202 -> 0 bytes .../common/__pycache__/entities.cpython-311.pyc | Bin 653 -> 0 bytes .../common/__pycache__/html_blocks.cpython-311.pyc | Bin 795 -> 0 bytes .../common/__pycache__/html_re.cpython-311.pyc | Bin 1351 -> 0 bytes .../__pycache__/normalize_url.cpython-311.pyc | Bin 3729 -> 0 bytes .../common/__pycache__/utils.cpython-311.pyc | Bin 10999 -> 0 bytes .../site-packages/markdown_it/common/entities.py | 4 - .../markdown_it/common/html_blocks.py | 68 - .../site-packages/markdown_it/common/html_re.py | 40 - .../markdown_it/common/normalize_url.py | 81 - .../site-packages/markdown_it/common/utils.py | 318 - .../site-packages/markdown_it/helpers/__init__.py | 6 - .../helpers/__pycache__/__init__.cpython-311.pyc | Bin 514 -> 0 bytes .../parse_link_destination.cpython-311.pyc | Bin 2507 -> 0 bytes .../__pycache__/parse_link_label.cpython-311.pyc | Bin 1393 -> 0 bytes .../__pycache__/parse_link_title.cpython-311.pyc | Bin 2198 -> 0 bytes .../markdown_it/helpers/parse_link_destination.py | 86 - .../markdown_it/helpers/parse_link_label.py | 43 - .../markdown_it/helpers/parse_link_title.py | 60 - .../python3.11/site-packages/markdown_it/main.py | 355 - .../site-packages/markdown_it/parser_block.py | 111 - .../site-packages/markdown_it/parser_core.py | 45 - .../site-packages/markdown_it/parser_inline.py | 147 - .../python3.11/site-packages/markdown_it/port.yaml | 48 - .../site-packages/markdown_it/presets/__init__.py | 28 - .../presets/__pycache__/__init__.cpython-311.pyc | Bin 1875 -> 0 bytes .../presets/__pycache__/commonmark.cpython-311.pyc | Bin 1250 -> 0 bytes .../presets/__pycache__/default.cpython-311.pyc | Bin 725 -> 0 bytes .../presets/__pycache__/zero.cpython-311.pyc | Bin 1001 -> 0 bytes .../markdown_it/presets/commonmark.py | 74 - .../site-packages/markdown_it/presets/default.py | 35 - .../site-packages/markdown_it/presets/zero.py | 43 - .../python3.11/site-packages/markdown_it/py.typed | 1 - .../site-packages/markdown_it/renderer.py | 336 - .../python3.11/site-packages/markdown_it/ruler.py | 276 - .../markdown_it/rules_block/__init__.py | 27 - .../__pycache__/__init__.cpython-311.pyc | Bin 865 -> 0 bytes .../__pycache__/blockquote.cpython-311.pyc | Bin 7034 -> 0 bytes .../rules_block/__pycache__/code.cpython-311.pyc | Bin 1498 -> 0 bytes .../rules_block/__pycache__/fence.cpython-311.pyc | Bin 2690 -> 0 bytes .../__pycache__/heading.cpython-311.pyc | Bin 2940 -> 0 bytes .../rules_block/__pycache__/hr.cpython-311.pyc | Bin 1898 -> 0 bytes .../__pycache__/html_block.cpython-311.pyc | Bin 3810 -> 0 bytes .../__pycache__/lheading.cpython-311.pyc | Bin 3078 -> 0 bytes .../rules_block/__pycache__/list.cpython-311.pyc | Bin 8246 -> 0 bytes .../__pycache__/paragraph.cpython-311.pyc | Bin 2245 -> 0 bytes .../__pycache__/reference.cpython-311.pyc | Bin 5997 -> 0 bytes .../__pycache__/state_block.cpython-311.pyc | Bin 9735 -> 0 bytes .../rules_block/__pycache__/table.cpython-311.pyc | Bin 8353 -> 0 bytes .../markdown_it/rules_block/blockquote.py | 299 - .../site-packages/markdown_it/rules_block/code.py | 35 - .../site-packages/markdown_it/rules_block/fence.py | 101 - .../markdown_it/rules_block/heading.py | 68 - .../site-packages/markdown_it/rules_block/hr.py | 55 - .../markdown_it/rules_block/html_block.py | 90 - .../markdown_it/rules_block/lheading.py | 86 - .../site-packages/markdown_it/rules_block/list.py | 345 - .../markdown_it/rules_block/paragraph.py | 65 - .../markdown_it/rules_block/reference.py | 215 - .../markdown_it/rules_block/state_block.py | 261 - .../site-packages/markdown_it/rules_block/table.py | 236 - .../markdown_it/rules_core/__init__.py | 19 - .../__pycache__/__init__.cpython-311.pyc | Bin 669 -> 0 bytes .../rules_core/__pycache__/block.cpython-311.pyc | Bin 987 -> 0 bytes .../rules_core/__pycache__/inline.cpython-311.pyc | Bin 786 -> 0 bytes .../rules_core/__pycache__/linkify.cpython-311.pyc | Bin 5547 -> 0 bytes .../__pycache__/normalize.cpython-311.pyc | Bin 866 -> 0 bytes .../__pycache__/replacements.cpython-311.pyc | Bin 4994 -> 0 bytes .../__pycache__/smartquotes.cpython-311.pyc | Bin 6876 -> 0 bytes .../__pycache__/state_core.cpython-311.pyc | Bin 1252 -> 0 bytes .../__pycache__/text_join.cpython-311.pyc | Bin 1535 -> 0 bytes .../site-packages/markdown_it/rules_core/block.py | 13 - .../site-packages/markdown_it/rules_core/inline.py | 10 - .../markdown_it/rules_core/linkify.py | 149 - .../markdown_it/rules_core/normalize.py | 18 - .../markdown_it/rules_core/replacements.py | 126 - .../markdown_it/rules_core/smartquotes.py | 202 - .../markdown_it/rules_core/state_core.py | 25 - .../markdown_it/rules_core/text_join.py | 34 - .../markdown_it/rules_inline/__init__.py | 31 - .../__pycache__/__init__.cpython-311.pyc | Bin 1032 -> 0 bytes .../__pycache__/autolink.cpython-311.pyc | Bin 2930 -> 0 bytes .../__pycache__/backticks.cpython-311.pyc | Bin 2649 -> 0 bytes .../__pycache__/balance_pairs.cpython-311.pyc | Bin 3303 -> 0 bytes .../__pycache__/emphasis.cpython-311.pyc | Bin 3873 -> 0 bytes .../__pycache__/entity.cpython-311.pyc | Bin 2759 -> 0 bytes .../__pycache__/escape.cpython-311.pyc | Bin 2032 -> 0 bytes .../__pycache__/fragments_join.cpython-311.pyc | Bin 1876 -> 0 bytes .../__pycache__/html_inline.cpython-311.pyc | Bin 2131 -> 0 bytes .../rules_inline/__pycache__/image.cpython-311.pyc | Bin 4189 -> 0 bytes .../rules_inline/__pycache__/link.cpython-311.pyc | Bin 4032 -> 0 bytes .../__pycache__/linkify.cpython-311.pyc | Bin 2791 -> 0 bytes .../__pycache__/newline.cpython-311.pyc | Bin 1920 -> 0 bytes .../__pycache__/state_inline.cpython-311.pyc | Bin 6454 -> 0 bytes .../__pycache__/strikethrough.cpython-311.pyc | Bin 4313 -> 0 bytes .../rules_inline/__pycache__/text.cpython-311.pyc | Bin 1024 -> 0 bytes .../markdown_it/rules_inline/autolink.py | 77 - .../markdown_it/rules_inline/backticks.py | 72 - .../markdown_it/rules_inline/balance_pairs.py | 137 - .../markdown_it/rules_inline/emphasis.py | 102 - .../markdown_it/rules_inline/entity.py | 53 - .../markdown_it/rules_inline/escape.py | 92 - .../markdown_it/rules_inline/fragments_join.py | 43 - .../markdown_it/rules_inline/html_inline.py | 43 - .../markdown_it/rules_inline/image.py | 148 - .../site-packages/markdown_it/rules_inline/link.py | 151 - .../markdown_it/rules_inline/linkify.py | 61 - .../markdown_it/rules_inline/newline.py | 43 - .../markdown_it/rules_inline/state_inline.py | 166 - .../markdown_it/rules_inline/strikethrough.py | 127 - .../site-packages/markdown_it/rules_inline/text.py | 53 - .../python3.11/site-packages/markdown_it/token.py | 180 - .../python3.11/site-packages/markdown_it/tree.py | 345 - .../python3.11/site-packages/markdown_it/utils.py | 176 - .../markdown_it_py-3.0.0.dist-info/INSTALLER | 1 - .../markdown_it_py-3.0.0.dist-info/LICENSE | 21 - .../LICENSE.markdown-it | 22 - .../markdown_it_py-3.0.0.dist-info/METADATA | 205 - .../markdown_it_py-3.0.0.dist-info/RECORD | 142 - .../markdown_it_py-3.0.0.dist-info/WHEEL | 4 - .../entry_points.txt | 3 - .../site-packages/markupsafe/__init__.py | 332 - .../__pycache__/__init__.cpython-311.pyc | Bin 20031 -> 0 bytes .../markupsafe/__pycache__/_native.cpython-311.pyc | Bin 2741 -> 0 bytes .../python3.11/site-packages/markupsafe/_native.py | 63 - .../site-packages/markupsafe/_speedups.c | 320 - .../_speedups.cpython-311-x86_64-linux-gnu.so | Bin 53656 -> 0 bytes .../site-packages/markupsafe/_speedups.pyi | 9 - .../python3.11/site-packages/markupsafe/py.typed | 0 .../site-packages/mdurl-0.1.2.dist-info/INSTALLER | 1 - .../site-packages/mdurl-0.1.2.dist-info/LICENSE | 46 - .../site-packages/mdurl-0.1.2.dist-info/METADATA | 32 - .../site-packages/mdurl-0.1.2.dist-info/RECORD | 18 - .../site-packages/mdurl-0.1.2.dist-info/WHEEL | 4 - .../lib/python3.11/site-packages/mdurl/__init__.py | 18 - .../mdurl/__pycache__/__init__.cpython-311.pyc | Bin 740 -> 0 bytes .../mdurl/__pycache__/_decode.cpython-311.pyc | Bin 4501 -> 0 bytes .../mdurl/__pycache__/_encode.cpython-311.pyc | Bin 3372 -> 0 bytes .../mdurl/__pycache__/_format.cpython-311.pyc | Bin 1153 -> 0 bytes .../mdurl/__pycache__/_parse.cpython-311.pyc | Bin 8363 -> 0 bytes .../mdurl/__pycache__/_url.cpython-311.pyc | Bin 804 -> 0 bytes venv/lib/python3.11/site-packages/mdurl/_decode.py | 104 - venv/lib/python3.11/site-packages/mdurl/_encode.py | 85 - venv/lib/python3.11/site-packages/mdurl/_format.py | 27 - venv/lib/python3.11/site-packages/mdurl/_parse.py | 304 - venv/lib/python3.11/site-packages/mdurl/_url.py | 14 - venv/lib/python3.11/site-packages/mdurl/py.typed | 1 - .../msgspec-0.18.6.dist-info/INSTALLER | 1 - .../site-packages/msgspec-0.18.6.dist-info/LICENSE | 27 - .../msgspec-0.18.6.dist-info/METADATA | 181 - .../site-packages/msgspec-0.18.6.dist-info/RECORD | 32 - .../site-packages/msgspec-0.18.6.dist-info/WHEEL | 6 - .../msgspec-0.18.6.dist-info/top_level.txt | 1 - .../python3.11/site-packages/msgspec/__init__.py | 61 - .../python3.11/site-packages/msgspec/__init__.pyi | 207 - .../msgspec/__pycache__/__init__.cpython-311.pyc | Bin 1949 -> 0 bytes .../__pycache__/_json_schema.cpython-311.pyc | Bin 23554 -> 0 bytes .../msgspec/__pycache__/_utils.cpython-311.pyc | Bin 12136 -> 0 bytes .../msgspec/__pycache__/_version.cpython-311.pyc | Bin 597 -> 0 bytes .../msgspec/__pycache__/inspect.cpython-311.pyc | Bin 40161 -> 0 bytes .../msgspec/__pycache__/json.cpython-311.pyc | Bin 519 -> 0 bytes .../msgspec/__pycache__/msgpack.cpython-311.pyc | Bin 427 -> 0 bytes .../msgspec/__pycache__/structs.cpython-311.pyc | Bin 4469 -> 0 bytes .../msgspec/__pycache__/toml.cpython-311.pyc | Bin 7319 -> 0 bytes .../msgspec/__pycache__/yaml.cpython-311.pyc | Bin 6905 -> 0 bytes .../msgspec/_core.cpython-311-x86_64-linux-gnu.so | Bin 405992 -> 0 bytes .../site-packages/msgspec/_json_schema.py | 439 - .../lib/python3.11/site-packages/msgspec/_utils.py | 289 - .../python3.11/site-packages/msgspec/_version.py | 21 - .../python3.11/site-packages/msgspec/inspect.py | 1005 - venv/lib/python3.11/site-packages/msgspec/json.py | 8 - venv/lib/python3.11/site-packages/msgspec/json.pyi | 113 - .../python3.11/site-packages/msgspec/msgpack.py | 7 - .../python3.11/site-packages/msgspec/msgpack.pyi | 103 - venv/lib/python3.11/site-packages/msgspec/py.typed | 0 .../python3.11/site-packages/msgspec/structs.py | 106 - .../python3.11/site-packages/msgspec/structs.pyi | 37 - venv/lib/python3.11/site-packages/msgspec/toml.py | 190 - venv/lib/python3.11/site-packages/msgspec/yaml.py | 185 - .../multidict-6.0.5.dist-info/INSTALLER | 1 - .../multidict-6.0.5.dist-info/LICENSE | 13 - .../multidict-6.0.5.dist-info/METADATA | 132 - .../site-packages/multidict-6.0.5.dist-info/RECORD | 19 - .../site-packages/multidict-6.0.5.dist-info/WHEEL | 6 - .../multidict-6.0.5.dist-info/top_level.txt | 1 - .../python3.11/site-packages/multidict/__init__.py | 48 - .../site-packages/multidict/__init__.pyi | 152 - .../multidict/__pycache__/__init__.cpython-311.pyc | Bin 1155 -> 0 bytes .../multidict/__pycache__/_abc.cpython-311.pyc | Bin 2759 -> 0 bytes .../multidict/__pycache__/_compat.cpython-311.pyc | Bin 722 -> 0 bytes .../__pycache__/_multidict_base.cpython-311.pyc | Bin 6756 -> 0 bytes .../__pycache__/_multidict_py.cpython-311.pyc | Bin 29045 -> 0 bytes .../lib/python3.11/site-packages/multidict/_abc.py | 48 - .../python3.11/site-packages/multidict/_compat.py | 14 - .../_multidict.cpython-311-x86_64-linux-gnu.so | Bin 410592 -> 0 bytes .../site-packages/multidict/_multidict_base.py | 144 - .../site-packages/multidict/_multidict_py.py | 527 - .../python3.11/site-packages/multidict/py.typed | 1 - .../site-packages/pip-24.0.dist-info/AUTHORS.txt | 760 - .../site-packages/pip-24.0.dist-info/INSTALLER | 1 - .../site-packages/pip-24.0.dist-info/LICENSE.txt | 20 - .../site-packages/pip-24.0.dist-info/METADATA | 88 - .../site-packages/pip-24.0.dist-info/RECORD | 1024 - .../site-packages/pip-24.0.dist-info/REQUESTED | 0 .../site-packages/pip-24.0.dist-info/WHEEL | 5 - .../pip-24.0.dist-info/entry_points.txt | 4 - .../site-packages/pip-24.0.dist-info/top_level.txt | 1 - venv/lib/python3.11/site-packages/pip/__init__.py | 13 - venv/lib/python3.11/site-packages/pip/__main__.py | 24 - .../python3.11/site-packages/pip/__pip-runner__.py | 50 - .../pip/__pycache__/__init__.cpython-311.pyc | Bin 774 -> 0 bytes .../pip/__pycache__/__main__.cpython-311.pyc | Bin 893 -> 0 bytes .../pip/__pycache__/__pip-runner__.cpython-311.pyc | Bin 2513 -> 0 bytes .../site-packages/pip/_internal/__init__.py | 18 - .../_internal/__pycache__/__init__.cpython-311.pyc | Bin 890 -> 0 bytes .../__pycache__/build_env.cpython-311.pyc | Bin 16079 -> 0 bytes .../_internal/__pycache__/cache.cpython-311.pyc | Bin 14395 -> 0 bytes .../__pycache__/configuration.cpython-311.pyc | Bin 19788 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 37449 -> 0 bytes .../pip/_internal/__pycache__/main.cpython-311.pyc | Bin 759 -> 0 bytes .../__pycache__/pyproject.cpython-311.pyc | Bin 5617 -> 0 bytes .../self_outdated_check.cpython-311.pyc | Bin 11774 -> 0 bytes .../__pycache__/wheel_builder.cpython-311.pyc | Bin 15177 -> 0 bytes .../site-packages/pip/_internal/build_env.py | 311 - .../site-packages/pip/_internal/cache.py | 290 - .../site-packages/pip/_internal/cli/__init__.py | 4 - .../cli/__pycache__/__init__.cpython-311.pyc | Bin 294 -> 0 bytes .../cli/__pycache__/autocompletion.cpython-311.pyc | Bin 10249 -> 0 bytes .../cli/__pycache__/base_command.cpython-311.pyc | Bin 11868 -> 0 bytes .../cli/__pycache__/cmdoptions.cpython-311.pyc | Bin 33774 -> 0 bytes .../__pycache__/command_context.cpython-311.pyc | Bin 2116 -> 0 bytes .../_internal/cli/__pycache__/main.cpython-311.pyc | Bin 2586 -> 0 bytes .../cli/__pycache__/main_parser.cpython-311.pyc | Bin 5530 -> 0 bytes .../cli/__pycache__/parser.cpython-311.pyc | Bin 16956 -> 0 bytes .../cli/__pycache__/progress_bars.cpython-311.pyc | Bin 3178 -> 0 bytes .../cli/__pycache__/req_command.cpython-311.pyc | Bin 20333 -> 0 bytes .../cli/__pycache__/spinners.cpython-311.pyc | Bin 8843 -> 0 bytes .../cli/__pycache__/status_codes.cpython-311.pyc | Bin 382 -> 0 bytes .../pip/_internal/cli/autocompletion.py | 172 - .../pip/_internal/cli/base_command.py | 236 - .../site-packages/pip/_internal/cli/cmdoptions.py | 1074 - .../pip/_internal/cli/command_context.py | 27 - .../site-packages/pip/_internal/cli/main.py | 79 - .../site-packages/pip/_internal/cli/main_parser.py | 134 - .../site-packages/pip/_internal/cli/parser.py | 294 - .../pip/_internal/cli/progress_bars.py | 68 - .../site-packages/pip/_internal/cli/req_command.py | 505 - .../site-packages/pip/_internal/cli/spinners.py | 159 - .../pip/_internal/cli/status_codes.py | 6 - .../pip/_internal/commands/__init__.py | 132 - .../commands/__pycache__/__init__.cpython-311.pyc | Bin 4462 -> 0 bytes .../commands/__pycache__/cache.cpython-311.pyc | Bin 10882 -> 0 bytes .../commands/__pycache__/check.cpython-311.pyc | Bin 2417 -> 0 bytes .../__pycache__/completion.cpython-311.pyc | Bin 5632 -> 0 bytes .../__pycache__/configuration.cpython-311.pyc | Bin 14860 -> 0 bytes .../commands/__pycache__/debug.cpython-311.pyc | Bin 12205 -> 0 bytes .../commands/__pycache__/download.cpython-311.pyc | Bin 7951 -> 0 bytes .../commands/__pycache__/freeze.cpython-311.pyc | Bin 4667 -> 0 bytes .../commands/__pycache__/hash.cpython-311.pyc | Bin 3364 -> 0 bytes .../commands/__pycache__/help.cpython-311.pyc | Bin 1976 -> 0 bytes .../commands/__pycache__/index.cpython-311.pyc | Bin 7730 -> 0 bytes .../commands/__pycache__/inspect.cpython-311.pyc | Bin 4452 -> 0 bytes .../commands/__pycache__/install.cpython-311.pyc | Bin 31153 -> 0 bytes .../commands/__pycache__/list.cpython-311.pyc | Bin 17256 -> 0 bytes .../commands/__pycache__/search.cpython-311.pyc | Bin 8958 -> 0 bytes .../commands/__pycache__/show.cpython-311.pyc | Bin 11301 -> 0 bytes .../commands/__pycache__/uninstall.cpython-311.pyc | Bin 5152 -> 0 bytes .../commands/__pycache__/wheel.cpython-311.pyc | Bin 9408 -> 0 bytes .../site-packages/pip/_internal/commands/cache.py | 225 - .../site-packages/pip/_internal/commands/check.py | 54 - .../pip/_internal/commands/completion.py | 130 - .../pip/_internal/commands/configuration.py | 280 - .../site-packages/pip/_internal/commands/debug.py | 201 - .../pip/_internal/commands/download.py | 147 - .../site-packages/pip/_internal/commands/freeze.py | 108 - .../site-packages/pip/_internal/commands/hash.py | 59 - .../site-packages/pip/_internal/commands/help.py | 41 - .../site-packages/pip/_internal/commands/index.py | 139 - .../pip/_internal/commands/inspect.py | 92 - .../pip/_internal/commands/install.py | 774 - .../site-packages/pip/_internal/commands/list.py | 368 - .../site-packages/pip/_internal/commands/search.py | 174 - .../site-packages/pip/_internal/commands/show.py | 189 - .../pip/_internal/commands/uninstall.py | 113 - .../site-packages/pip/_internal/commands/wheel.py | 183 - .../site-packages/pip/_internal/configuration.py | 383 - .../pip/_internal/distributions/__init__.py | 21 - .../__pycache__/__init__.cpython-311.pyc | Bin 1044 -> 0 bytes .../distributions/__pycache__/base.cpython-311.pyc | Bin 3136 -> 0 bytes .../__pycache__/installed.cpython-311.pyc | Bin 1853 -> 0 bytes .../__pycache__/sdist.cpython-311.pyc | Bin 9377 -> 0 bytes .../__pycache__/wheel.cpython-311.pyc | Bin 2445 -> 0 bytes .../pip/_internal/distributions/base.py | 51 - .../pip/_internal/distributions/installed.py | 29 - .../pip/_internal/distributions/sdist.py | 156 - .../pip/_internal/distributions/wheel.py | 40 - .../site-packages/pip/_internal/exceptions.py | 728 - .../site-packages/pip/_internal/index/__init__.py | 2 - .../index/__pycache__/__init__.cpython-311.pyc | Bin 248 -> 0 bytes .../index/__pycache__/collector.cpython-311.pyc | Bin 24593 -> 0 bytes .../__pycache__/package_finder.cpython-311.pyc | Bin 44157 -> 0 bytes .../index/__pycache__/sources.cpython-311.pyc | Bin 13964 -> 0 bytes .../site-packages/pip/_internal/index/collector.py | 507 - .../pip/_internal/index/package_finder.py | 1027 - .../site-packages/pip/_internal/index/sources.py | 285 - .../pip/_internal/locations/__init__.py | 467 - .../locations/__pycache__/__init__.cpython-311.pyc | Bin 18186 -> 0 bytes .../__pycache__/_distutils.cpython-311.pyc | Bin 7560 -> 0 bytes .../__pycache__/_sysconfig.cpython-311.pyc | Bin 8890 -> 0 bytes .../locations/__pycache__/base.cpython-311.pyc | Bin 4011 -> 0 bytes .../pip/_internal/locations/_distutils.py | 172 - .../pip/_internal/locations/_sysconfig.py | 213 - .../site-packages/pip/_internal/locations/base.py | 81 - .../python3.11/site-packages/pip/_internal/main.py | 12 - .../pip/_internal/metadata/__init__.py | 128 - .../metadata/__pycache__/__init__.cpython-311.pyc | Bin 6510 -> 0 bytes .../metadata/__pycache__/_json.cpython-311.pyc | Bin 3573 -> 0 bytes .../metadata/__pycache__/base.cpython-311.pyc | Bin 38687 -> 0 bytes .../__pycache__/pkg_resources.cpython-311.pyc | Bin 17544 -> 0 bytes .../site-packages/pip/_internal/metadata/_json.py | 84 - .../site-packages/pip/_internal/metadata/base.py | 702 - .../pip/_internal/metadata/importlib/__init__.py | 6 - .../importlib/__pycache__/__init__.cpython-311.pyc | Bin 399 -> 0 bytes .../importlib/__pycache__/_compat.cpython-311.pyc | Bin 3572 -> 0 bytes .../importlib/__pycache__/_dists.cpython-311.pyc | Bin 14882 -> 0 bytes .../importlib/__pycache__/_envs.cpython-311.pyc | Bin 12515 -> 0 bytes .../pip/_internal/metadata/importlib/_compat.py | 55 - .../pip/_internal/metadata/importlib/_dists.py | 227 - .../pip/_internal/metadata/importlib/_envs.py | 189 - .../pip/_internal/metadata/pkg_resources.py | 278 - .../site-packages/pip/_internal/models/__init__.py | 2 - .../models/__pycache__/__init__.cpython-311.pyc | Bin 282 -> 0 bytes .../models/__pycache__/candidate.cpython-311.pyc | Bin 2090 -> 0 bytes .../models/__pycache__/direct_url.cpython-311.pyc | Bin 12775 -> 0 bytes .../__pycache__/format_control.cpython-311.pyc | Bin 4636 -> 0 bytes .../models/__pycache__/index.cpython-311.pyc | Bin 1907 -> 0 bytes .../installation_report.cpython-311.pyc | Bin 2613 -> 0 bytes .../models/__pycache__/link.cpython-311.pyc | Bin 28627 -> 0 bytes .../models/__pycache__/scheme.cpython-311.pyc | Bin 1273 -> 0 bytes .../__pycache__/search_scope.cpython-311.pyc | Bin 5836 -> 0 bytes .../__pycache__/selection_prefs.cpython-311.pyc | Bin 2004 -> 0 bytes .../__pycache__/target_python.cpython-311.pyc | Bin 5303 -> 0 bytes .../models/__pycache__/wheel.cpython-311.pyc | Bin 6429 -> 0 bytes .../pip/_internal/models/candidate.py | 30 - .../pip/_internal/models/direct_url.py | 235 - .../pip/_internal/models/format_control.py | 78 - .../site-packages/pip/_internal/models/index.py | 28 - .../pip/_internal/models/installation_report.py | 56 - .../site-packages/pip/_internal/models/link.py | 579 - .../site-packages/pip/_internal/models/scheme.py | 31 - .../pip/_internal/models/search_scope.py | 132 - .../pip/_internal/models/selection_prefs.py | 51 - .../pip/_internal/models/target_python.py | 122 - .../site-packages/pip/_internal/models/wheel.py | 92 - .../pip/_internal/network/__init__.py | 2 - .../network/__pycache__/__init__.cpython-311.pyc | Bin 270 -> 0 bytes .../network/__pycache__/auth.cpython-311.pyc | Bin 23997 -> 0 bytes .../network/__pycache__/cache.cpython-311.pyc | Bin 7938 -> 0 bytes .../network/__pycache__/download.cpython-311.pyc | Bin 9548 -> 0 bytes .../network/__pycache__/lazy_wheel.cpython-311.pyc | Bin 13031 -> 0 bytes .../network/__pycache__/session.cpython-311.pyc | Bin 21447 -> 0 bytes .../network/__pycache__/utils.cpython-311.pyc | Bin 2419 -> 0 bytes .../network/__pycache__/xmlrpc.cpython-311.pyc | Bin 3257 -> 0 bytes .../site-packages/pip/_internal/network/auth.py | 561 - .../site-packages/pip/_internal/network/cache.py | 106 - .../pip/_internal/network/download.py | 186 - .../pip/_internal/network/lazy_wheel.py | 210 - .../site-packages/pip/_internal/network/session.py | 520 - .../site-packages/pip/_internal/network/utils.py | 96 - .../site-packages/pip/_internal/network/xmlrpc.py | 62 - .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 208 -> 0 bytes .../operations/__pycache__/check.cpython-311.pyc | Bin 8471 -> 0 bytes .../operations/__pycache__/freeze.cpython-311.pyc | Bin 11604 -> 0 bytes .../operations/__pycache__/prepare.cpython-311.pyc | Bin 27833 -> 0 bytes .../pip/_internal/operations/build/__init__.py | 0 .../build/__pycache__/__init__.cpython-311.pyc | Bin 214 -> 0 bytes .../__pycache__/build_tracker.cpython-311.pyc | Bin 8935 -> 0 bytes .../build/__pycache__/metadata.cpython-311.pyc | Bin 2285 -> 0 bytes .../__pycache__/metadata_editable.cpython-311.pyc | Bin 2321 -> 0 bytes .../__pycache__/metadata_legacy.cpython-311.pyc | Bin 3721 -> 0 bytes .../build/__pycache__/wheel.cpython-311.pyc | Bin 1951 -> 0 bytes .../__pycache__/wheel_editable.cpython-311.pyc | Bin 2395 -> 0 bytes .../build/__pycache__/wheel_legacy.cpython-311.pyc | Bin 4502 -> 0 bytes .../_internal/operations/build/build_tracker.py | 139 - .../pip/_internal/operations/build/metadata.py | 39 - .../operations/build/metadata_editable.py | 41 - .../_internal/operations/build/metadata_legacy.py | 74 - .../pip/_internal/operations/build/wheel.py | 37 - .../_internal/operations/build/wheel_editable.py | 46 - .../pip/_internal/operations/build/wheel_legacy.py | 102 - .../pip/_internal/operations/check.py | 187 - .../pip/_internal/operations/freeze.py | 255 - .../pip/_internal/operations/install/__init__.py | 2 - .../install/__pycache__/__init__.cpython-311.pyc | Bin 282 -> 0 bytes .../__pycache__/editable_legacy.cpython-311.pyc | Bin 2195 -> 0 bytes .../install/__pycache__/wheel.cpython-311.pyc | Bin 40176 -> 0 bytes .../operations/install/editable_legacy.py | 46 - .../pip/_internal/operations/install/wheel.py | 734 - .../pip/_internal/operations/prepare.py | 730 - .../site-packages/pip/_internal/pyproject.py | 179 - .../site-packages/pip/_internal/req/__init__.py | 92 - .../req/__pycache__/__init__.cpython-311.pyc | Bin 4396 -> 0 bytes .../req/__pycache__/constructors.cpython-311.pyc | Bin 23404 -> 0 bytes .../req/__pycache__/req_file.cpython-311.pyc | Bin 23116 -> 0 bytes .../req/__pycache__/req_install.cpython-311.pyc | Bin 40263 -> 0 bytes .../req/__pycache__/req_set.cpython-311.pyc | Bin 7964 -> 0 bytes .../req/__pycache__/req_uninstall.cpython-311.pyc | Bin 37329 -> 0 bytes .../pip/_internal/req/constructors.py | 576 - .../site-packages/pip/_internal/req/req_file.py | 554 - .../site-packages/pip/_internal/req/req_install.py | 923 - .../site-packages/pip/_internal/req/req_set.py | 119 - .../pip/_internal/req/req_uninstall.py | 649 - .../pip/_internal/resolution/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 208 -> 0 bytes .../resolution/__pycache__/base.cpython-311.pyc | Bin 1379 -> 0 bytes .../site-packages/pip/_internal/resolution/base.py | 20 - .../pip/_internal/resolution/legacy/__init__.py | 0 .../legacy/__pycache__/__init__.cpython-311.pyc | Bin 215 -> 0 bytes .../legacy/__pycache__/resolver.cpython-311.pyc | Bin 23672 -> 0 bytes .../pip/_internal/resolution/legacy/resolver.py | 598 - .../_internal/resolution/resolvelib/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 219 -> 0 bytes .../resolvelib/__pycache__/base.cpython-311.pyc | Bin 9307 -> 0 bytes .../__pycache__/candidates.cpython-311.pyc | Bin 31401 -> 0 bytes .../resolvelib/__pycache__/factory.cpython-311.pyc | Bin 35794 -> 0 bytes .../__pycache__/found_candidates.cpython-311.pyc | Bin 6767 -> 0 bytes .../__pycache__/provider.cpython-311.pyc | Bin 11458 -> 0 bytes .../__pycache__/reporter.cpython-311.pyc | Bin 5449 -> 0 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 12223 -> 0 bytes .../__pycache__/resolver.cpython-311.pyc | Bin 13460 -> 0 bytes .../pip/_internal/resolution/resolvelib/base.py | 141 - .../_internal/resolution/resolvelib/candidates.py | 597 - .../pip/_internal/resolution/resolvelib/factory.py | 812 - .../resolution/resolvelib/found_candidates.py | 155 - .../_internal/resolution/resolvelib/provider.py | 255 - .../_internal/resolution/resolvelib/reporter.py | 80 - .../resolution/resolvelib/requirements.py | 166 - .../_internal/resolution/resolvelib/resolver.py | 317 - .../pip/_internal/self_outdated_check.py | 248 - .../site-packages/pip/_internal/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-311.pyc | Bin 203 -> 0 bytes .../utils/__pycache__/_jaraco_text.cpython-311.pyc | Bin 4767 -> 0 bytes .../utils/__pycache__/_log.cpython-311.pyc | Bin 2024 -> 0 bytes .../utils/__pycache__/appdirs.cpython-311.pyc | Bin 2562 -> 0 bytes .../utils/__pycache__/compat.cpython-311.pyc | Bin 2270 -> 0 bytes .../__pycache__/compatibility_tags.cpython-311.pyc | Bin 6762 -> 0 bytes .../utils/__pycache__/datetime.cpython-311.pyc | Bin 720 -> 0 bytes .../utils/__pycache__/deprecation.cpython-311.pyc | Bin 4689 -> 0 bytes .../__pycache__/direct_url_helpers.cpython-311.pyc | Bin 3726 -> 0 bytes .../utils/__pycache__/egg_link.cpython-311.pyc | Bin 3558 -> 0 bytes .../utils/__pycache__/encoding.cpython-311.pyc | Bin 2326 -> 0 bytes .../utils/__pycache__/entrypoints.cpython-311.pyc | Bin 4248 -> 0 bytes .../utils/__pycache__/filesystem.cpython-311.pyc | Bin 8233 -> 0 bytes .../utils/__pycache__/filetypes.cpython-311.pyc | Bin 1319 -> 0 bytes .../utils/__pycache__/glibc.cpython-311.pyc | Bin 2615 -> 0 bytes .../utils/__pycache__/hashes.cpython-311.pyc | Bin 8774 -> 0 bytes .../utils/__pycache__/logging.cpython-311.pyc | Bin 15375 -> 0 bytes .../utils/__pycache__/misc.cpython-311.pyc | Bin 38620 -> 0 bytes .../utils/__pycache__/models.cpython-311.pyc | Bin 2943 -> 0 bytes .../utils/__pycache__/packaging.cpython-311.pyc | Bin 2810 -> 0 bytes .../__pycache__/setuptools_build.cpython-311.pyc | Bin 4875 -> 0 bytes .../utils/__pycache__/subprocess.cpython-311.pyc | Bin 9904 -> 0 bytes .../utils/__pycache__/temp_dir.cpython-311.pyc | Bin 13387 -> 0 bytes .../utils/__pycache__/unpacking.cpython-311.pyc | Bin 12899 -> 0 bytes .../utils/__pycache__/urls.cpython-311.pyc | Bin 2696 -> 0 bytes .../utils/__pycache__/virtualenv.cpython-311.pyc | Bin 4943 -> 0 bytes .../utils/__pycache__/wheel.cpython-311.pyc | Bin 7031 -> 0 bytes .../pip/_internal/utils/_jaraco_text.py | 109 - .../site-packages/pip/_internal/utils/_log.py | 38 - .../site-packages/pip/_internal/utils/appdirs.py | 52 - .../site-packages/pip/_internal/utils/compat.py | 63 - .../pip/_internal/utils/compatibility_tags.py | 165 - .../site-packages/pip/_internal/utils/datetime.py | 11 - .../pip/_internal/utils/deprecation.py | 120 - .../pip/_internal/utils/direct_url_helpers.py | 87 - .../site-packages/pip/_internal/utils/egg_link.py | 80 - .../site-packages/pip/_internal/utils/encoding.py | 36 - .../pip/_internal/utils/entrypoints.py | 84 - .../pip/_internal/utils/filesystem.py | 153 - .../site-packages/pip/_internal/utils/filetypes.py | 27 - .../site-packages/pip/_internal/utils/glibc.py | 88 - .../site-packages/pip/_internal/utils/hashes.py | 151 - .../site-packages/pip/_internal/utils/logging.py | 348 - .../site-packages/pip/_internal/utils/misc.py | 783 - .../site-packages/pip/_internal/utils/models.py | 39 - .../site-packages/pip/_internal/utils/packaging.py | 57 - .../pip/_internal/utils/setuptools_build.py | 146 - .../pip/_internal/utils/subprocess.py | 260 - .../site-packages/pip/_internal/utils/temp_dir.py | 296 - .../site-packages/pip/_internal/utils/unpacking.py | 257 - .../site-packages/pip/_internal/utils/urls.py | 62 - .../pip/_internal/utils/virtualenv.py | 104 - .../site-packages/pip/_internal/utils/wheel.py | 134 - .../site-packages/pip/_internal/vcs/__init__.py | 15 - .../vcs/__pycache__/__init__.cpython-311.pyc | Bin 638 -> 0 bytes .../vcs/__pycache__/bazaar.cpython-311.pyc | Bin 5863 -> 0 bytes .../_internal/vcs/__pycache__/git.cpython-311.pyc | Bin 21378 -> 0 bytes .../vcs/__pycache__/mercurial.cpython-311.pyc | Bin 8731 -> 0 bytes .../vcs/__pycache__/subversion.cpython-311.pyc | Bin 14606 -> 0 bytes .../vcs/__pycache__/versioncontrol.cpython-311.pyc | Bin 31770 -> 0 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 112 - .../site-packages/pip/_internal/vcs/git.py | 526 - .../site-packages/pip/_internal/vcs/mercurial.py | 163 - .../site-packages/pip/_internal/vcs/subversion.py | 324 - .../pip/_internal/vcs/versioncontrol.py | 705 - .../site-packages/pip/_internal/wheel_builder.py | 354 - .../site-packages/pip/_vendor/__init__.py | 121 - .../_vendor/__pycache__/__init__.cpython-311.pyc | Bin 5666 -> 0 bytes .../pip/_vendor/__pycache__/six.cpython-311.pyc | Bin 46418 -> 0 bytes .../__pycache__/typing_extensions.cpython-311.pyc | Bin 131588 -> 0 bytes .../pip/_vendor/cachecontrol/__init__.py | 28 - .../__pycache__/__init__.cpython-311.pyc | Bin 982 -> 0 bytes .../cachecontrol/__pycache__/_cmd.cpython-311.pyc | Bin 3033 -> 0 bytes .../__pycache__/adapter.cpython-311.pyc | Bin 6909 -> 0 bytes .../cachecontrol/__pycache__/cache.cpython-311.pyc | Bin 4506 -> 0 bytes .../__pycache__/controller.cpython-311.pyc | Bin 18259 -> 0 bytes .../__pycache__/filewrapper.cpython-311.pyc | Bin 4762 -> 0 bytes .../__pycache__/heuristics.cpython-311.pyc | Bin 7565 -> 0 bytes .../__pycache__/serialize.cpython-311.pyc | Bin 7041 -> 0 bytes .../__pycache__/wrapper.cpython-311.pyc | Bin 1874 -> 0 bytes .../site-packages/pip/_vendor/cachecontrol/_cmd.py | 70 - .../pip/_vendor/cachecontrol/adapter.py | 161 - .../pip/_vendor/cachecontrol/cache.py | 74 - .../pip/_vendor/cachecontrol/caches/__init__.py | 8 - .../caches/__pycache__/__init__.cpython-311.pyc | Bin 483 -> 0 bytes .../caches/__pycache__/file_cache.cpython-311.pyc | Bin 8989 -> 0 bytes .../caches/__pycache__/redis_cache.cpython-311.pyc | Bin 3090 -> 0 bytes .../pip/_vendor/cachecontrol/caches/file_cache.py | 181 - .../pip/_vendor/cachecontrol/caches/redis_cache.py | 48 - .../pip/_vendor/cachecontrol/controller.py | 494 - .../pip/_vendor/cachecontrol/filewrapper.py | 119 - .../pip/_vendor/cachecontrol/heuristics.py | 154 - .../pip/_vendor/cachecontrol/py.typed | 0 .../pip/_vendor/cachecontrol/serialize.py | 206 - .../pip/_vendor/cachecontrol/wrapper.py | 43 - .../site-packages/pip/_vendor/certifi/__init__.py | 4 - .../site-packages/pip/_vendor/certifi/__main__.py | 12 - .../certifi/__pycache__/__init__.cpython-311.pyc | Bin 345 -> 0 bytes .../certifi/__pycache__/__main__.cpython-311.pyc | Bin 746 -> 0 bytes .../certifi/__pycache__/core.cpython-311.pyc | Bin 3368 -> 0 bytes .../site-packages/pip/_vendor/certifi/cacert.pem | 4635 -- .../site-packages/pip/_vendor/certifi/core.py | 108 - .../site-packages/pip/_vendor/certifi/py.typed | 0 .../site-packages/pip/_vendor/chardet/__init__.py | 115 - .../chardet/__pycache__/__init__.cpython-311.pyc | Bin 5077 -> 0 bytes .../chardet/__pycache__/big5freq.cpython-311.pyc | Bin 27207 -> 0 bytes .../chardet/__pycache__/big5prober.cpython-311.pyc | Bin 1682 -> 0 bytes .../__pycache__/chardistribution.cpython-311.pyc | Bin 11274 -> 0 bytes .../__pycache__/charsetgroupprober.cpython-311.pyc | Bin 4304 -> 0 bytes .../__pycache__/charsetprober.cpython-311.pyc | Bin 5550 -> 0 bytes .../__pycache__/codingstatemachine.cpython-311.pyc | Bin 4001 -> 0 bytes .../codingstatemachinedict.cpython-311.pyc | Bin 957 -> 0 bytes .../__pycache__/cp949prober.cpython-311.pyc | Bin 1691 -> 0 bytes .../chardet/__pycache__/enums.cpython-311.pyc | Bin 3392 -> 0 bytes .../chardet/__pycache__/escprober.cpython-311.pyc | Bin 4908 -> 0 bytes .../chardet/__pycache__/escsm.cpython-311.pyc | Bin 12647 -> 0 bytes .../__pycache__/eucjpprober.cpython-311.pyc | Bin 4734 -> 0 bytes .../chardet/__pycache__/euckrfreq.cpython-311.pyc | Bin 12090 -> 0 bytes .../__pycache__/euckrprober.cpython-311.pyc | Bin 1683 -> 0 bytes .../chardet/__pycache__/euctwfreq.cpython-311.pyc | Bin 27212 -> 0 bytes .../__pycache__/euctwprober.cpython-311.pyc | Bin 1683 -> 0 bytes .../chardet/__pycache__/gb2312freq.cpython-311.pyc | Bin 19134 -> 0 bytes .../__pycache__/gb2312prober.cpython-311.pyc | Bin 1698 -> 0 bytes .../__pycache__/hebrewprober.cpython-311.pyc | Bin 5687 -> 0 bytes .../chardet/__pycache__/jisfreq.cpython-311.pyc | Bin 22163 -> 0 bytes .../chardet/__pycache__/johabfreq.cpython-311.pyc | Bin 84667 -> 0 bytes .../__pycache__/johabprober.cpython-311.pyc | Bin 1689 -> 0 bytes .../chardet/__pycache__/jpcntx.cpython-311.pyc | Bin 40171 -> 0 bytes .../__pycache__/langbulgarianmodel.cpython-311.pyc | Bin 85841 -> 0 bytes .../__pycache__/langgreekmodel.cpython-311.pyc | Bin 79263 -> 0 bytes .../__pycache__/langhebrewmodel.cpython-311.pyc | Bin 80025 -> 0 bytes .../__pycache__/langhungarianmodel.cpython-311.pyc | Bin 85795 -> 0 bytes .../__pycache__/langrussianmodel.cpython-311.pyc | Bin 108742 -> 0 bytes .../__pycache__/langthaimodel.cpython-311.pyc | Bin 80203 -> 0 bytes .../__pycache__/langturkishmodel.cpython-311.pyc | Bin 80042 -> 0 bytes .../__pycache__/latin1prober.cpython-311.pyc | Bin 7338 -> 0 bytes .../__pycache__/macromanprober.cpython-311.pyc | Bin 7505 -> 0 bytes .../__pycache__/mbcharsetprober.cpython-311.pyc | Bin 4126 -> 0 bytes .../__pycache__/mbcsgroupprober.cpython-311.pyc | Bin 1996 -> 0 bytes .../chardet/__pycache__/mbcssm.cpython-311.pyc | Bin 31736 -> 0 bytes .../chardet/__pycache__/resultdict.cpython-311.pyc | Bin 775 -> 0 bytes .../__pycache__/sbcharsetprober.cpython-311.pyc | Bin 6401 -> 0 bytes .../__pycache__/sbcsgroupprober.cpython-311.pyc | Bin 2946 -> 0 bytes .../chardet/__pycache__/sjisprober.cpython-311.pyc | Bin 4839 -> 0 bytes .../__pycache__/universaldetector.cpython-311.pyc | Bin 12467 -> 0 bytes .../__pycache__/utf1632prober.cpython-311.pyc | Bin 10587 -> 0 bytes .../chardet/__pycache__/utf8prober.cpython-311.pyc | Bin 3474 -> 0 bytes .../chardet/__pycache__/version.cpython-311.pyc | Bin 510 -> 0 bytes .../site-packages/pip/_vendor/chardet/big5freq.py | 386 - .../pip/_vendor/chardet/big5prober.py | 47 - .../pip/_vendor/chardet/chardistribution.py | 261 - .../pip/_vendor/chardet/charsetgroupprober.py | 106 - .../pip/_vendor/chardet/charsetprober.py | 147 - .../pip/_vendor/chardet/cli/__init__.py | 0 .../cli/__pycache__/__init__.cpython-311.pyc | Bin 207 -> 0 bytes .../cli/__pycache__/chardetect.cpython-311.pyc | Bin 4346 -> 0 bytes .../pip/_vendor/chardet/cli/chardetect.py | 112 - .../pip/_vendor/chardet/codingstatemachine.py | 90 - .../pip/_vendor/chardet/codingstatemachinedict.py | 19 - .../pip/_vendor/chardet/cp949prober.py | 49 - .../site-packages/pip/_vendor/chardet/enums.py | 85 - .../site-packages/pip/_vendor/chardet/escprober.py | 102 - .../site-packages/pip/_vendor/chardet/escsm.py | 261 - .../pip/_vendor/chardet/eucjpprober.py | 102 - .../site-packages/pip/_vendor/chardet/euckrfreq.py | 196 - .../pip/_vendor/chardet/euckrprober.py | 47 - .../site-packages/pip/_vendor/chardet/euctwfreq.py | 388 - .../pip/_vendor/chardet/euctwprober.py | 47 - .../pip/_vendor/chardet/gb2312freq.py | 284 - .../pip/_vendor/chardet/gb2312prober.py | 47 - .../pip/_vendor/chardet/hebrewprober.py | 316 - .../site-packages/pip/_vendor/chardet/jisfreq.py | 325 - .../site-packages/pip/_vendor/chardet/johabfreq.py | 2382 - .../pip/_vendor/chardet/johabprober.py | 47 - .../site-packages/pip/_vendor/chardet/jpcntx.py | 238 - .../pip/_vendor/chardet/langbulgarianmodel.py | 4649 -- .../pip/_vendor/chardet/langgreekmodel.py | 4397 -- .../pip/_vendor/chardet/langhebrewmodel.py | 4380 -- .../pip/_vendor/chardet/langhungarianmodel.py | 4649 -- .../pip/_vendor/chardet/langrussianmodel.py | 5725 -- .../pip/_vendor/chardet/langthaimodel.py | 4380 -- .../pip/_vendor/chardet/langturkishmodel.py | 4380 -- .../pip/_vendor/chardet/latin1prober.py | 147 - .../pip/_vendor/chardet/macromanprober.py | 162 - .../pip/_vendor/chardet/mbcharsetprober.py | 95 - .../pip/_vendor/chardet/mbcsgroupprober.py | 57 - .../site-packages/pip/_vendor/chardet/mbcssm.py | 661 - .../pip/_vendor/chardet/metadata/__init__.py | 0 .../metadata/__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../metadata/__pycache__/languages.cpython-311.pyc | Bin 10812 -> 0 bytes .../pip/_vendor/chardet/metadata/languages.py | 352 - .../site-packages/pip/_vendor/chardet/py.typed | 0 .../pip/_vendor/chardet/resultdict.py | 16 - .../pip/_vendor/chardet/sbcharsetprober.py | 162 - .../pip/_vendor/chardet/sbcsgroupprober.py | 88 - .../pip/_vendor/chardet/sjisprober.py | 105 - .../pip/_vendor/chardet/universaldetector.py | 362 - .../pip/_vendor/chardet/utf1632prober.py | 225 - .../pip/_vendor/chardet/utf8prober.py | 82 - .../site-packages/pip/_vendor/chardet/version.py | 9 - .../site-packages/pip/_vendor/colorama/__init__.py | 7 - .../colorama/__pycache__/__init__.cpython-311.pyc | Bin 579 -> 0 bytes .../colorama/__pycache__/ansi.cpython-311.pyc | Bin 4577 -> 0 bytes .../__pycache__/ansitowin32.cpython-311.pyc | Bin 16223 -> 0 bytes .../__pycache__/initialise.cpython-311.pyc | Bin 3940 -> 0 bytes .../colorama/__pycache__/win32.cpython-311.pyc | Bin 7928 -> 0 bytes .../colorama/__pycache__/winterm.cpython-311.pyc | Bin 9154 -> 0 bytes .../site-packages/pip/_vendor/colorama/ansi.py | 102 - .../pip/_vendor/colorama/ansitowin32.py | 277 - .../pip/_vendor/colorama/initialise.py | 121 - .../pip/_vendor/colorama/tests/__init__.py | 1 - .../tests/__pycache__/__init__.cpython-311.pyc | Bin 210 -> 0 bytes .../tests/__pycache__/ansi_test.cpython-311.pyc | Bin 5855 -> 0 bytes .../__pycache__/ansitowin32_test.cpython-311.pyc | Bin 21522 -> 0 bytes .../__pycache__/initialise_test.cpython-311.pyc | Bin 14149 -> 0 bytes .../tests/__pycache__/isatty_test.cpython-311.pyc | Bin 6714 -> 0 bytes .../tests/__pycache__/utils.cpython-311.pyc | Bin 2889 -> 0 bytes .../tests/__pycache__/winterm_test.cpython-311.pyc | Bin 7242 -> 0 bytes .../pip/_vendor/colorama/tests/ansi_test.py | 76 - .../pip/_vendor/colorama/tests/ansitowin32_test.py | 294 - .../pip/_vendor/colorama/tests/initialise_test.py | 189 - .../pip/_vendor/colorama/tests/isatty_test.py | 57 - .../pip/_vendor/colorama/tests/utils.py | 49 - .../pip/_vendor/colorama/tests/winterm_test.py | 131 - .../site-packages/pip/_vendor/colorama/win32.py | 180 - .../site-packages/pip/_vendor/colorama/winterm.py | 195 - .../site-packages/pip/_vendor/distlib/__init__.py | 33 - .../distlib/__pycache__/__init__.cpython-311.pyc | Bin 1472 -> 0 bytes .../distlib/__pycache__/compat.cpython-311.pyc | Bin 52409 -> 0 bytes .../distlib/__pycache__/database.cpython-311.pyc | Bin 72190 -> 0 bytes .../distlib/__pycache__/index.cpython-311.pyc | Bin 26671 -> 0 bytes .../distlib/__pycache__/locators.cpython-311.pyc | Bin 65796 -> 0 bytes .../distlib/__pycache__/manifest.cpython-311.pyc | Bin 17021 -> 0 bytes .../distlib/__pycache__/markers.cpython-311.pyc | Bin 8555 -> 0 bytes .../distlib/__pycache__/metadata.cpython-311.pyc | Bin 47436 -> 0 bytes .../distlib/__pycache__/resources.cpython-311.pyc | Bin 18997 -> 0 bytes .../distlib/__pycache__/scripts.cpython-311.pyc | Bin 21249 -> 0 bytes .../distlib/__pycache__/util.cpython-311.pyc | Bin 98201 -> 0 bytes .../distlib/__pycache__/version.cpython-311.pyc | Bin 34819 -> 0 bytes .../distlib/__pycache__/wheel.cpython-311.pyc | Bin 59483 -> 0 bytes .../site-packages/pip/_vendor/distlib/compat.py | 1138 - .../site-packages/pip/_vendor/distlib/database.py | 1359 - .../site-packages/pip/_vendor/distlib/index.py | 508 - .../site-packages/pip/_vendor/distlib/locators.py | 1303 - .../site-packages/pip/_vendor/distlib/manifest.py | 384 - .../site-packages/pip/_vendor/distlib/markers.py | 167 - .../site-packages/pip/_vendor/distlib/metadata.py | 1068 - .../site-packages/pip/_vendor/distlib/resources.py | 358 - .../site-packages/pip/_vendor/distlib/scripts.py | 452 - .../site-packages/pip/_vendor/distlib/t32.exe | Bin 97792 -> 0 bytes .../site-packages/pip/_vendor/distlib/t64-arm.exe | Bin 182784 -> 0 bytes .../site-packages/pip/_vendor/distlib/t64.exe | Bin 108032 -> 0 bytes .../site-packages/pip/_vendor/distlib/util.py | 2025 - .../site-packages/pip/_vendor/distlib/version.py | 751 - .../site-packages/pip/_vendor/distlib/w32.exe | Bin 91648 -> 0 bytes .../site-packages/pip/_vendor/distlib/w64-arm.exe | Bin 168448 -> 0 bytes .../site-packages/pip/_vendor/distlib/w64.exe | Bin 101888 -> 0 bytes .../site-packages/pip/_vendor/distlib/wheel.py | 1099 - .../site-packages/pip/_vendor/distro/__init__.py | 54 - .../site-packages/pip/_vendor/distro/__main__.py | 4 - .../distro/__pycache__/__init__.cpython-311.pyc | Bin 1201 -> 0 bytes .../distro/__pycache__/__main__.cpython-311.pyc | Bin 335 -> 0 bytes .../distro/__pycache__/distro.cpython-311.pyc | Bin 57734 -> 0 bytes .../site-packages/pip/_vendor/distro/distro.py | 1399 - .../site-packages/pip/_vendor/distro/py.typed | 0 .../site-packages/pip/_vendor/idna/__init__.py | 44 - .../idna/__pycache__/__init__.cpython-311.pyc | Bin 1102 -> 0 bytes .../_vendor/idna/__pycache__/codec.cpython-311.pyc | Bin 5393 -> 0 bytes .../idna/__pycache__/compat.cpython-311.pyc | Bin 1019 -> 0 bytes .../_vendor/idna/__pycache__/core.cpython-311.pyc | Bin 19454 -> 0 bytes .../idna/__pycache__/idnadata.cpython-311.pyc | Bin 38978 -> 0 bytes .../idna/__pycache__/intranges.cpython-311.pyc | Bin 2987 -> 0 bytes .../idna/__pycache__/package_data.cpython-311.pyc | Bin 222 -> 0 bytes .../idna/__pycache__/uts46data.cpython-311.pyc | Bin 163202 -> 0 bytes .../site-packages/pip/_vendor/idna/codec.py | 112 - .../site-packages/pip/_vendor/idna/compat.py | 13 - .../site-packages/pip/_vendor/idna/core.py | 400 - .../site-packages/pip/_vendor/idna/idnadata.py | 2151 - .../site-packages/pip/_vendor/idna/intranges.py | 54 - .../site-packages/pip/_vendor/idna/package_data.py | 2 - .../site-packages/pip/_vendor/idna/py.typed | 0 .../site-packages/pip/_vendor/idna/uts46data.py | 8600 --- .../site-packages/pip/_vendor/msgpack/__init__.py | 57 - .../msgpack/__pycache__/__init__.cpython-311.pyc | Bin 2081 -> 0 bytes .../msgpack/__pycache__/exceptions.cpython-311.pyc | Bin 2382 -> 0 bytes .../msgpack/__pycache__/ext.cpython-311.pyc | Bin 9167 -> 0 bytes .../msgpack/__pycache__/fallback.cpython-311.pyc | Bin 47155 -> 0 bytes .../pip/_vendor/msgpack/exceptions.py | 48 - .../site-packages/pip/_vendor/msgpack/ext.py | 193 - .../site-packages/pip/_vendor/msgpack/fallback.py | 1010 - .../pip/_vendor/packaging/__about__.py | 26 - .../pip/_vendor/packaging/__init__.py | 25 - .../__pycache__/__about__.cpython-311.pyc | Bin 646 -> 0 bytes .../packaging/__pycache__/__init__.cpython-311.pyc | Bin 567 -> 0 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 13233 -> 0 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 8001 -> 0 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 3689 -> 0 bytes .../packaging/__pycache__/markers.cpython-311.pyc | Bin 16529 -> 0 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 7644 -> 0 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 34367 -> 0 bytes .../packaging/__pycache__/tags.cpython-311.pyc | Bin 21352 -> 0 bytes .../packaging/__pycache__/utils.cpython-311.pyc | Bin 6687 -> 0 bytes .../packaging/__pycache__/version.cpython-311.pyc | Bin 21879 -> 0 bytes .../pip/_vendor/packaging/_manylinux.py | 301 - .../pip/_vendor/packaging/_musllinux.py | 136 - .../pip/_vendor/packaging/_structures.py | 61 - .../site-packages/pip/_vendor/packaging/markers.py | 304 - .../site-packages/pip/_vendor/packaging/py.typed | 0 .../pip/_vendor/packaging/requirements.py | 146 - .../pip/_vendor/packaging/specifiers.py | 802 - .../site-packages/pip/_vendor/packaging/tags.py | 487 - .../site-packages/pip/_vendor/packaging/utils.py | 136 - .../site-packages/pip/_vendor/packaging/version.py | 504 - .../pip/_vendor/pkg_resources/__init__.py | 3361 - .../__pycache__/__init__.cpython-311.pyc | Bin 160147 -> 0 bytes .../pip/_vendor/platformdirs/__init__.py | 566 - .../pip/_vendor/platformdirs/__main__.py | 53 - .../__pycache__/__init__.cpython-311.pyc | Bin 17500 -> 0 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 2280 -> 0 bytes .../__pycache__/android.cpython-311.pyc | Bin 10466 -> 0 bytes .../platformdirs/__pycache__/api.cpython-311.pyc | Bin 10559 -> 0 bytes .../platformdirs/__pycache__/macos.cpython-311.pyc | Bin 6071 -> 0 bytes .../platformdirs/__pycache__/unix.cpython-311.pyc | Bin 13777 -> 0 bytes .../__pycache__/version.cpython-311.pyc | Bin 317 -> 0 bytes .../__pycache__/windows.cpython-311.pyc | Bin 13945 -> 0 bytes .../pip/_vendor/platformdirs/android.py | 210 - .../site-packages/pip/_vendor/platformdirs/api.py | 223 - .../pip/_vendor/platformdirs/macos.py | 91 - .../pip/_vendor/platformdirs/py.typed | 0 .../site-packages/pip/_vendor/platformdirs/unix.py | 223 - .../pip/_vendor/platformdirs/version.py | 4 - .../pip/_vendor/platformdirs/windows.py | 255 - .../site-packages/pip/_vendor/pygments/__init__.py | 82 - .../site-packages/pip/_vendor/pygments/__main__.py | 17 - .../pygments/__pycache__/__init__.cpython-311.pyc | Bin 3836 -> 0 bytes .../pygments/__pycache__/__main__.cpython-311.pyc | Bin 785 -> 0 bytes .../pygments/__pycache__/cmdline.cpython-311.pyc | Bin 30296 -> 0 bytes .../pygments/__pycache__/console.cpython-311.pyc | Bin 3048 -> 0 bytes .../pygments/__pycache__/filter.cpython-311.pyc | Bin 3509 -> 0 bytes .../pygments/__pycache__/formatter.cpython-311.pyc | Bin 4824 -> 0 bytes .../pygments/__pycache__/lexer.cpython-311.pyc | Bin 42312 -> 0 bytes .../pygments/__pycache__/modeline.cpython-311.pyc | Bin 1728 -> 0 bytes .../pygments/__pycache__/plugin.cpython-311.pyc | Bin 3741 -> 0 bytes .../pygments/__pycache__/regexopt.cpython-311.pyc | Bin 5035 -> 0 bytes .../pygments/__pycache__/scanner.cpython-311.pyc | Bin 4890 -> 0 bytes .../pygments/__pycache__/sphinxext.cpython-311.pyc | Bin 12835 -> 0 bytes .../pygments/__pycache__/style.cpython-311.pyc | Bin 7429 -> 0 bytes .../pygments/__pycache__/token.cpython-311.pyc | Bin 7469 -> 0 bytes .../pygments/__pycache__/unistring.cpython-311.pyc | Bin 33842 -> 0 bytes .../pygments/__pycache__/util.cpython-311.pyc | Bin 15694 -> 0 bytes .../site-packages/pip/_vendor/pygments/cmdline.py | 668 - .../site-packages/pip/_vendor/pygments/console.py | 70 - .../site-packages/pip/_vendor/pygments/filter.py | 71 - .../pip/_vendor/pygments/filters/__init__.py | 940 - .../filters/__pycache__/__init__.cpython-311.pyc | Bin 40109 -> 0 bytes .../pip/_vendor/pygments/formatter.py | 124 - .../pip/_vendor/pygments/formatters/__init__.py | 158 - .../__pycache__/__init__.cpython-311.pyc | Bin 7767 -> 0 bytes .../__pycache__/_mapping.cpython-311.pyc | Bin 4227 -> 0 bytes .../formatters/__pycache__/bbcode.cpython-311.pyc | Bin 4483 -> 0 bytes .../formatters/__pycache__/groff.cpython-311.pyc | Bin 7856 -> 0 bytes .../formatters/__pycache__/html.cpython-311.pyc | Bin 42645 -> 0 bytes .../formatters/__pycache__/img.cpython-311.pyc | Bin 28573 -> 0 bytes .../formatters/__pycache__/irc.cpython-311.pyc | Bin 6409 -> 0 bytes .../formatters/__pycache__/latex.cpython-311.pyc | Bin 21809 -> 0 bytes .../formatters/__pycache__/other.cpython-311.pyc | Bin 7637 -> 0 bytes .../__pycache__/pangomarkup.cpython-311.pyc | Bin 3181 -> 0 bytes .../formatters/__pycache__/rtf.cpython-311.pyc | Bin 6848 -> 0 bytes .../formatters/__pycache__/svg.cpython-311.pyc | Bin 9668 -> 0 bytes .../__pycache__/terminal.cpython-311.pyc | Bin 6047 -> 0 bytes .../__pycache__/terminal256.cpython-311.pyc | Bin 16413 -> 0 bytes .../pip/_vendor/pygments/formatters/_mapping.py | 23 - .../pip/_vendor/pygments/formatters/bbcode.py | 108 - .../pip/_vendor/pygments/formatters/groff.py | 170 - .../pip/_vendor/pygments/formatters/html.py | 989 - .../pip/_vendor/pygments/formatters/img.py | 645 - .../pip/_vendor/pygments/formatters/irc.py | 154 - .../pip/_vendor/pygments/formatters/latex.py | 521 - .../pip/_vendor/pygments/formatters/other.py | 161 - .../pip/_vendor/pygments/formatters/pangomarkup.py | 83 - .../pip/_vendor/pygments/formatters/rtf.py | 146 - .../pip/_vendor/pygments/formatters/svg.py | 188 - .../pip/_vendor/pygments/formatters/terminal.py | 127 - .../pip/_vendor/pygments/formatters/terminal256.py | 338 - .../site-packages/pip/_vendor/pygments/lexer.py | 943 - .../pip/_vendor/pygments/lexers/__init__.py | 362 - .../lexers/__pycache__/__init__.cpython-311.pyc | Bin 16353 -> 0 bytes .../lexers/__pycache__/_mapping.cpython-311.pyc | Bin 64795 -> 0 bytes .../lexers/__pycache__/python.cpython-311.pyc | Bin 43309 -> 0 bytes .../pip/_vendor/pygments/lexers/_mapping.py | 559 - .../pip/_vendor/pygments/lexers/python.py | 1198 - .../site-packages/pip/_vendor/pygments/modeline.py | 43 - .../site-packages/pip/_vendor/pygments/plugin.py | 88 - .../site-packages/pip/_vendor/pygments/regexopt.py | 91 - .../site-packages/pip/_vendor/pygments/scanner.py | 104 - .../pip/_vendor/pygments/sphinxext.py | 217 - .../site-packages/pip/_vendor/pygments/style.py | 197 - .../pip/_vendor/pygments/styles/__init__.py | 103 - .../styles/__pycache__/__init__.cpython-311.pyc | Bin 4684 -> 0 bytes .../site-packages/pip/_vendor/pygments/token.py | 213 - .../pip/_vendor/pygments/unistring.py | 153 - .../site-packages/pip/_vendor/pygments/util.py | 330 - .../pip/_vendor/pyparsing/__init__.py | 322 - .../pyparsing/__pycache__/__init__.cpython-311.pyc | Bin 8233 -> 0 bytes .../pyparsing/__pycache__/actions.cpython-311.pyc | Bin 9124 -> 0 bytes .../pyparsing/__pycache__/common.cpython-311.pyc | Bin 14871 -> 0 bytes .../pyparsing/__pycache__/core.cpython-311.pyc | Bin 295444 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 13711 -> 0 bytes .../pyparsing/__pycache__/helpers.cpython-311.pyc | Bin 54130 -> 0 bytes .../pyparsing/__pycache__/results.cpython-311.pyc | Bin 37851 -> 0 bytes .../pyparsing/__pycache__/testing.cpython-311.pyc | Bin 19514 -> 0 bytes .../pyparsing/__pycache__/unicode.cpython-311.pyc | Bin 15202 -> 0 bytes .../pyparsing/__pycache__/util.cpython-311.pyc | Bin 16785 -> 0 bytes .../site-packages/pip/_vendor/pyparsing/actions.py | 217 - .../site-packages/pip/_vendor/pyparsing/common.py | 432 - .../site-packages/pip/_vendor/pyparsing/core.py | 6115 -- .../pip/_vendor/pyparsing/diagram/__init__.py | 656 - .../diagram/__pycache__/__init__.cpython-311.pyc | Bin 28793 -> 0 bytes .../pip/_vendor/pyparsing/exceptions.py | 299 - .../site-packages/pip/_vendor/pyparsing/helpers.py | 1100 - .../site-packages/pip/_vendor/pyparsing/py.typed | 0 .../site-packages/pip/_vendor/pyparsing/results.py | 796 - .../site-packages/pip/_vendor/pyparsing/testing.py | 331 - .../site-packages/pip/_vendor/pyparsing/unicode.py | 361 - .../site-packages/pip/_vendor/pyparsing/util.py | 284 - .../pip/_vendor/pyproject_hooks/__init__.py | 23 - .../__pycache__/__init__.cpython-311.pyc | Bin 710 -> 0 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 408 -> 0 bytes .../__pycache__/_impl.cpython-311.pyc | Bin 16674 -> 0 bytes .../pip/_vendor/pyproject_hooks/_compat.py | 8 - .../pip/_vendor/pyproject_hooks/_impl.py | 330 - .../pyproject_hooks/_in_process/__init__.py | 18 - .../__pycache__/__init__.cpython-311.pyc | Bin 1170 -> 0 bytes .../__pycache__/_in_process.cpython-311.pyc | Bin 16492 -> 0 bytes .../pyproject_hooks/_in_process/_in_process.py | 353 - .../site-packages/pip/_vendor/requests/__init__.py | 182 - .../requests/__pycache__/__init__.cpython-311.pyc | Bin 6441 -> 0 bytes .../__pycache__/__version__.cpython-311.pyc | Bin 591 -> 0 bytes .../__pycache__/_internal_utils.cpython-311.pyc | Bin 2155 -> 0 bytes .../requests/__pycache__/adapters.cpython-311.pyc | Bin 23208 -> 0 bytes .../requests/__pycache__/api.cpython-311.pyc | Bin 7508 -> 0 bytes .../requests/__pycache__/auth.cpython-311.pyc | Bin 14635 -> 0 bytes .../requests/__pycache__/certs.cpython-311.pyc | Bin 987 -> 0 bytes .../requests/__pycache__/compat.cpython-311.pyc | Bin 1813 -> 0 bytes .../requests/__pycache__/cookies.cpython-311.pyc | Bin 27115 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 8530 -> 0 bytes .../requests/__pycache__/help.cpython-311.pyc | Bin 4525 -> 0 bytes .../requests/__pycache__/hooks.cpython-311.pyc | Bin 1255 -> 0 bytes .../requests/__pycache__/models.cpython-311.pyc | Bin 38786 -> 0 bytes .../requests/__pycache__/packages.cpython-311.pyc | Bin 835 -> 0 bytes .../requests/__pycache__/sessions.cpython-311.pyc | Bin 29698 -> 0 bytes .../__pycache__/status_codes.cpython-311.pyc | Bin 6242 -> 0 bytes .../__pycache__/structures.cpython-311.pyc | Bin 6227 -> 0 bytes .../requests/__pycache__/utils.cpython-311.pyc | Bin 40261 -> 0 bytes .../pip/_vendor/requests/__version__.py | 14 - .../pip/_vendor/requests/_internal_utils.py | 50 - .../site-packages/pip/_vendor/requests/adapters.py | 538 - .../site-packages/pip/_vendor/requests/api.py | 157 - .../site-packages/pip/_vendor/requests/auth.py | 315 - .../site-packages/pip/_vendor/requests/certs.py | 24 - .../site-packages/pip/_vendor/requests/compat.py | 67 - .../site-packages/pip/_vendor/requests/cookies.py | 561 - .../pip/_vendor/requests/exceptions.py | 141 - .../site-packages/pip/_vendor/requests/help.py | 131 - .../site-packages/pip/_vendor/requests/hooks.py | 33 - .../site-packages/pip/_vendor/requests/models.py | 1034 - .../site-packages/pip/_vendor/requests/packages.py | 16 - .../site-packages/pip/_vendor/requests/sessions.py | 833 - .../pip/_vendor/requests/status_codes.py | 128 - .../pip/_vendor/requests/structures.py | 99 - .../site-packages/pip/_vendor/requests/utils.py | 1094 - .../pip/_vendor/resolvelib/__init__.py | 26 - .../__pycache__/__init__.cpython-311.pyc | Bin 758 -> 0 bytes .../__pycache__/providers.cpython-311.pyc | Bin 7076 -> 0 bytes .../__pycache__/reporters.cpython-311.pyc | Bin 2840 -> 0 bytes .../__pycache__/resolvers.cpython-311.pyc | Bin 29240 -> 0 bytes .../resolvelib/__pycache__/structs.cpython-311.pyc | Bin 11477 -> 0 bytes .../pip/_vendor/resolvelib/compat/__init__.py | 0 .../compat/__pycache__/__init__.cpython-311.pyc | Bin 213 -> 0 bytes .../__pycache__/collections_abc.cpython-311.pyc | Bin 488 -> 0 bytes .../_vendor/resolvelib/compat/collections_abc.py | 6 - .../pip/_vendor/resolvelib/providers.py | 133 - .../site-packages/pip/_vendor/resolvelib/py.typed | 0 .../pip/_vendor/resolvelib/reporters.py | 43 - .../pip/_vendor/resolvelib/resolvers.py | 547 - .../pip/_vendor/resolvelib/structs.py | 170 - .../site-packages/pip/_vendor/rich/__init__.py | 177 - .../site-packages/pip/_vendor/rich/__main__.py | 274 - .../rich/__pycache__/__init__.cpython-311.pyc | Bin 7501 -> 0 bytes .../rich/__pycache__/__main__.cpython-311.pyc | Bin 11579 -> 0 bytes .../rich/__pycache__/_cell_widths.cpython-311.pyc | Bin 7840 -> 0 bytes .../rich/__pycache__/_emoji_codes.cpython-311.pyc | Bin 208527 -> 0 bytes .../__pycache__/_emoji_replace.cpython-311.pyc | Bin 1939 -> 0 bytes .../__pycache__/_export_format.cpython-311.pyc | Bin 2330 -> 0 bytes .../rich/__pycache__/_extension.cpython-311.pyc | Bin 640 -> 0 bytes .../rich/__pycache__/_fileno.cpython-311.pyc | Bin 982 -> 0 bytes .../rich/__pycache__/_inspect.cpython-311.pyc | Bin 14192 -> 0 bytes .../rich/__pycache__/_log_render.cpython-311.pyc | Bin 4774 -> 0 bytes .../_vendor/rich/__pycache__/_loop.cpython-311.pyc | Bin 2120 -> 0 bytes .../rich/__pycache__/_null_file.cpython-311.pyc | Bin 4179 -> 0 bytes .../rich/__pycache__/_palettes.cpython-311.pyc | Bin 5256 -> 0 bytes .../_vendor/rich/__pycache__/_pick.cpython-311.pyc | Bin 801 -> 0 bytes .../rich/__pycache__/_ratio.cpython-311.pyc | Bin 7939 -> 0 bytes .../rich/__pycache__/_spinners.cpython-311.pyc | Bin 13689 -> 0 bytes .../rich/__pycache__/_stack.cpython-311.pyc | Bin 1135 -> 0 bytes .../rich/__pycache__/_timer.cpython-311.pyc | Bin 988 -> 0 bytes .../__pycache__/_win32_console.cpython-311.pyc | Bin 30176 -> 0 bytes .../rich/__pycache__/_windows.cpython-311.pyc | Bin 2835 -> 0 bytes .../__pycache__/_windows_renderer.cpython-311.pyc | Bin 4026 -> 0 bytes .../_vendor/rich/__pycache__/_wrap.cpython-311.pyc | Bin 2791 -> 0 bytes .../_vendor/rich/__pycache__/abc.cpython-311.pyc | Bin 1932 -> 0 bytes .../_vendor/rich/__pycache__/align.cpython-311.pyc | Bin 13474 -> 0 bytes .../_vendor/rich/__pycache__/ansi.cpython-311.pyc | Bin 10505 -> 0 bytes .../_vendor/rich/__pycache__/bar.cpython-311.pyc | Bin 4554 -> 0 bytes .../_vendor/rich/__pycache__/box.cpython-311.pyc | Bin 12996 -> 0 bytes .../_vendor/rich/__pycache__/cells.cpython-311.pyc | Bin 6626 -> 0 bytes .../_vendor/rich/__pycache__/color.cpython-311.pyc | Bin 27810 -> 0 bytes .../rich/__pycache__/color_triplet.cpython-311.pyc | Bin 1880 -> 0 bytes .../rich/__pycache__/columns.cpython-311.pyc | Bin 10651 -> 0 bytes .../rich/__pycache__/console.cpython-311.pyc | Bin 123754 -> 0 bytes .../rich/__pycache__/constrain.cpython-311.pyc | Bin 2472 -> 0 bytes .../rich/__pycache__/containers.cpython-311.pyc | Bin 10813 -> 0 bytes .../rich/__pycache__/control.cpython-311.pyc | Bin 11904 -> 0 bytes .../__pycache__/default_styles.cpython-311.pyc | Bin 12607 -> 0 bytes .../rich/__pycache__/diagnose.cpython-311.pyc | Bin 1827 -> 0 bytes .../_vendor/rich/__pycache__/emoji.cpython-311.pyc | Bin 4805 -> 0 bytes .../rich/__pycache__/errors.cpython-311.pyc | Bin 2336 -> 0 bytes .../rich/__pycache__/file_proxy.cpython-311.pyc | Bin 4040 -> 0 bytes .../rich/__pycache__/filesize.cpython-311.pyc | Bin 3308 -> 0 bytes .../rich/__pycache__/highlighter.cpython-311.pyc | Bin 10994 -> 0 bytes .../_vendor/rich/__pycache__/json.cpython-311.pyc | Bin 6551 -> 0 bytes .../rich/__pycache__/jupyter.cpython-311.pyc | Bin 6411 -> 0 bytes .../rich/__pycache__/layout.cpython-311.pyc | Bin 23318 -> 0 bytes .../_vendor/rich/__pycache__/live.cpython-311.pyc | Bin 21304 -> 0 bytes .../rich/__pycache__/live_render.cpython-311.pyc | Bin 5152 -> 0 bytes .../rich/__pycache__/logging.cpython-311.pyc | Bin 14523 -> 0 bytes .../rich/__pycache__/markup.cpython-311.pyc | Bin 10445 -> 0 bytes .../rich/__pycache__/measure.cpython-311.pyc | Bin 7278 -> 0 bytes .../rich/__pycache__/padding.cpython-311.pyc | Bin 7494 -> 0 bytes .../_vendor/rich/__pycache__/pager.cpython-311.pyc | Bin 2252 -> 0 bytes .../rich/__pycache__/palette.cpython-311.pyc | Bin 5985 -> 0 bytes .../_vendor/rich/__pycache__/panel.cpython-311.pyc | Bin 12741 -> 0 bytes .../rich/__pycache__/pretty.cpython-311.pyc | Bin 44355 -> 0 bytes .../rich/__pycache__/progress.cpython-311.pyc | Bin 82621 -> 0 bytes .../rich/__pycache__/progress_bar.cpython-311.pyc | Bin 11019 -> 0 bytes .../rich/__pycache__/prompt.cpython-311.pyc | Bin 16385 -> 0 bytes .../rich/__pycache__/protocol.cpython-311.pyc | Bin 2103 -> 0 bytes .../rich/__pycache__/region.cpython-311.pyc | Bin 666 -> 0 bytes .../_vendor/rich/__pycache__/repr.cpython-311.pyc | Bin 7633 -> 0 bytes .../_vendor/rich/__pycache__/rule.cpython-311.pyc | Bin 7172 -> 0 bytes .../_vendor/rich/__pycache__/scope.cpython-311.pyc | Bin 4358 -> 0 bytes .../rich/__pycache__/screen.cpython-311.pyc | Bin 2781 -> 0 bytes .../rich/__pycache__/segment.cpython-311.pyc | Bin 31611 -> 0 bytes .../rich/__pycache__/spinner.cpython-311.pyc | Bin 6887 -> 0 bytes .../rich/__pycache__/status.cpython-311.pyc | Bin 6765 -> 0 bytes .../_vendor/rich/__pycache__/style.cpython-311.pyc | Bin 35205 -> 0 bytes .../rich/__pycache__/styled.cpython-311.pyc | Bin 2446 -> 0 bytes .../rich/__pycache__/syntax.cpython-311.pyc | Bin 42656 -> 0 bytes .../_vendor/rich/__pycache__/table.cpython-311.pyc | Bin 48807 -> 0 bytes .../__pycache__/terminal_theme.cpython-311.pyc | Bin 3712 -> 0 bytes .../_vendor/rich/__pycache__/text.cpython-311.pyc | Bin 64965 -> 0 bytes .../_vendor/rich/__pycache__/theme.cpython-311.pyc | Bin 7311 -> 0 bytes .../rich/__pycache__/themes.cpython-311.pyc | Bin 362 -> 0 bytes .../rich/__pycache__/traceback.cpython-311.pyc | Bin 34574 -> 0 bytes .../_vendor/rich/__pycache__/tree.cpython-311.pyc | Bin 12533 -> 0 bytes .../site-packages/pip/_vendor/rich/_cell_widths.py | 451 - .../site-packages/pip/_vendor/rich/_emoji_codes.py | 3610 - .../pip/_vendor/rich/_emoji_replace.py | 32 - .../pip/_vendor/rich/_export_format.py | 76 - .../site-packages/pip/_vendor/rich/_extension.py | 10 - .../site-packages/pip/_vendor/rich/_fileno.py | 24 - .../site-packages/pip/_vendor/rich/_inspect.py | 270 - .../site-packages/pip/_vendor/rich/_log_render.py | 94 - .../site-packages/pip/_vendor/rich/_loop.py | 43 - .../site-packages/pip/_vendor/rich/_null_file.py | 69 - .../site-packages/pip/_vendor/rich/_palettes.py | 309 - .../site-packages/pip/_vendor/rich/_pick.py | 17 - .../site-packages/pip/_vendor/rich/_ratio.py | 160 - .../site-packages/pip/_vendor/rich/_spinners.py | 482 - .../site-packages/pip/_vendor/rich/_stack.py | 16 - .../site-packages/pip/_vendor/rich/_timer.py | 19 - .../pip/_vendor/rich/_win32_console.py | 662 - .../site-packages/pip/_vendor/rich/_windows.py | 72 - .../pip/_vendor/rich/_windows_renderer.py | 56 - .../site-packages/pip/_vendor/rich/_wrap.py | 56 - .../site-packages/pip/_vendor/rich/abc.py | 33 - .../site-packages/pip/_vendor/rich/align.py | 311 - .../site-packages/pip/_vendor/rich/ansi.py | 240 - .../site-packages/pip/_vendor/rich/bar.py | 94 - .../site-packages/pip/_vendor/rich/box.py | 517 - .../site-packages/pip/_vendor/rich/cells.py | 154 - .../site-packages/pip/_vendor/rich/color.py | 622 - .../pip/_vendor/rich/color_triplet.py | 38 - .../site-packages/pip/_vendor/rich/columns.py | 187 - .../site-packages/pip/_vendor/rich/console.py | 2633 - .../site-packages/pip/_vendor/rich/constrain.py | 37 - .../site-packages/pip/_vendor/rich/containers.py | 167 - .../site-packages/pip/_vendor/rich/control.py | 225 - .../pip/_vendor/rich/default_styles.py | 190 - .../site-packages/pip/_vendor/rich/diagnose.py | 37 - .../site-packages/pip/_vendor/rich/emoji.py | 96 - .../site-packages/pip/_vendor/rich/errors.py | 34 - .../site-packages/pip/_vendor/rich/file_proxy.py | 57 - .../site-packages/pip/_vendor/rich/filesize.py | 89 - .../site-packages/pip/_vendor/rich/highlighter.py | 232 - .../site-packages/pip/_vendor/rich/json.py | 140 - .../site-packages/pip/_vendor/rich/jupyter.py | 101 - .../site-packages/pip/_vendor/rich/layout.py | 443 - .../site-packages/pip/_vendor/rich/live.py | 375 - .../site-packages/pip/_vendor/rich/live_render.py | 113 - .../site-packages/pip/_vendor/rich/logging.py | 289 - .../site-packages/pip/_vendor/rich/markup.py | 246 - .../site-packages/pip/_vendor/rich/measure.py | 151 - .../site-packages/pip/_vendor/rich/padding.py | 141 - .../site-packages/pip/_vendor/rich/pager.py | 34 - .../site-packages/pip/_vendor/rich/palette.py | 100 - .../site-packages/pip/_vendor/rich/panel.py | 308 - .../site-packages/pip/_vendor/rich/pretty.py | 994 - .../site-packages/pip/_vendor/rich/progress.py | 1702 - .../site-packages/pip/_vendor/rich/progress_bar.py | 224 - .../site-packages/pip/_vendor/rich/prompt.py | 376 - .../site-packages/pip/_vendor/rich/protocol.py | 42 - .../site-packages/pip/_vendor/rich/py.typed | 0 .../site-packages/pip/_vendor/rich/region.py | 10 - .../site-packages/pip/_vendor/rich/repr.py | 149 - .../site-packages/pip/_vendor/rich/rule.py | 130 - .../site-packages/pip/_vendor/rich/scope.py | 86 - .../site-packages/pip/_vendor/rich/screen.py | 54 - .../site-packages/pip/_vendor/rich/segment.py | 739 - .../site-packages/pip/_vendor/rich/spinner.py | 137 - .../site-packages/pip/_vendor/rich/status.py | 132 - .../site-packages/pip/_vendor/rich/style.py | 796 - .../site-packages/pip/_vendor/rich/styled.py | 42 - .../site-packages/pip/_vendor/rich/syntax.py | 948 - .../site-packages/pip/_vendor/rich/table.py | 1002 - .../pip/_vendor/rich/terminal_theme.py | 153 - .../site-packages/pip/_vendor/rich/text.py | 1307 - .../site-packages/pip/_vendor/rich/theme.py | 115 - .../site-packages/pip/_vendor/rich/themes.py | 5 - .../site-packages/pip/_vendor/rich/traceback.py | 756 - .../site-packages/pip/_vendor/rich/tree.py | 251 - .../python3.11/site-packages/pip/_vendor/six.py | 998 - .../site-packages/pip/_vendor/tenacity/__init__.py | 608 - .../tenacity/__pycache__/__init__.cpython-311.pyc | Bin 29053 -> 0 bytes .../tenacity/__pycache__/_asyncio.cpython-311.pyc | Bin 5229 -> 0 bytes .../tenacity/__pycache__/_utils.cpython-311.pyc | Bin 2569 -> 0 bytes .../tenacity/__pycache__/after.cpython-311.pyc | Bin 1764 -> 0 bytes .../tenacity/__pycache__/before.cpython-311.pyc | Bin 1598 -> 0 bytes .../__pycache__/before_sleep.cpython-311.pyc | Bin 2381 -> 0 bytes .../tenacity/__pycache__/nap.cpython-311.pyc | Bin 1572 -> 0 bytes .../tenacity/__pycache__/retry.cpython-311.pyc | Bin 15948 -> 0 bytes .../tenacity/__pycache__/stop.cpython-311.pyc | Bin 6301 -> 0 bytes .../__pycache__/tornadoweb.cpython-311.pyc | Bin 2918 -> 0 bytes .../tenacity/__pycache__/wait.cpython-311.pyc | Bin 13307 -> 0 bytes .../site-packages/pip/_vendor/tenacity/_asyncio.py | 94 - .../site-packages/pip/_vendor/tenacity/_utils.py | 76 - .../site-packages/pip/_vendor/tenacity/after.py | 51 - .../site-packages/pip/_vendor/tenacity/before.py | 46 - .../pip/_vendor/tenacity/before_sleep.py | 71 - .../site-packages/pip/_vendor/tenacity/nap.py | 43 - .../site-packages/pip/_vendor/tenacity/py.typed | 0 .../site-packages/pip/_vendor/tenacity/retry.py | 272 - .../site-packages/pip/_vendor/tenacity/stop.py | 103 - .../pip/_vendor/tenacity/tornadoweb.py | 59 - .../site-packages/pip/_vendor/tenacity/wait.py | 228 - .../site-packages/pip/_vendor/tomli/__init__.py | 11 - .../tomli/__pycache__/__init__.cpython-311.pyc | Bin 417 -> 0 bytes .../tomli/__pycache__/_parser.cpython-311.pyc | Bin 30856 -> 0 bytes .../_vendor/tomli/__pycache__/_re.cpython-311.pyc | Bin 4496 -> 0 bytes .../tomli/__pycache__/_types.cpython-311.pyc | Bin 409 -> 0 bytes .../site-packages/pip/_vendor/tomli/_parser.py | 691 - .../site-packages/pip/_vendor/tomli/_re.py | 107 - .../site-packages/pip/_vendor/tomli/_types.py | 10 - .../site-packages/pip/_vendor/tomli/py.typed | 1 - .../pip/_vendor/truststore/__init__.py | 13 - .../__pycache__/__init__.cpython-311.pyc | Bin 670 -> 0 bytes .../truststore/__pycache__/_api.cpython-311.pyc | Bin 16732 -> 0 bytes .../truststore/__pycache__/_macos.cpython-311.pyc | Bin 17412 -> 0 bytes .../__pycache__/_openssl.cpython-311.pyc | Bin 2351 -> 0 bytes .../__pycache__/_ssl_constants.cpython-311.pyc | Bin 1126 -> 0 bytes .../__pycache__/_windows.cpython-311.pyc | Bin 17254 -> 0 bytes .../site-packages/pip/_vendor/truststore/_api.py | 302 - .../site-packages/pip/_vendor/truststore/_macos.py | 501 - .../pip/_vendor/truststore/_openssl.py | 66 - .../pip/_vendor/truststore/_ssl_constants.py | 31 - .../pip/_vendor/truststore/_windows.py | 554 - .../site-packages/pip/_vendor/truststore/py.typed | 0 .../site-packages/pip/_vendor/typing_extensions.py | 3072 - .../site-packages/pip/_vendor/urllib3/__init__.py | 102 - .../urllib3/__pycache__/__init__.cpython-311.pyc | Bin 3715 -> 0 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 18303 -> 0 bytes .../urllib3/__pycache__/_version.cpython-311.pyc | Bin 225 -> 0 bytes .../urllib3/__pycache__/connection.cpython-311.pyc | Bin 22071 -> 0 bytes .../__pycache__/connectionpool.cpython-311.pyc | Bin 38283 -> 0 bytes .../urllib3/__pycache__/exceptions.cpython-311.pyc | Bin 16129 -> 0 bytes .../urllib3/__pycache__/fields.cpython-311.pyc | Bin 11422 -> 0 bytes .../urllib3/__pycache__/filepost.cpython-311.pyc | Bin 4503 -> 0 bytes .../__pycache__/poolmanager.cpython-311.pyc | Bin 21621 -> 0 bytes .../urllib3/__pycache__/request.cpython-311.pyc | Bin 7674 -> 0 bytes .../urllib3/__pycache__/response.cpython-311.pyc | Bin 36549 -> 0 bytes .../pip/_vendor/urllib3/_collections.py | 337 - .../site-packages/pip/_vendor/urllib3/_version.py | 2 - .../pip/_vendor/urllib3/connection.py | 572 - .../pip/_vendor/urllib3/connectionpool.py | 1132 - .../pip/_vendor/urllib3/contrib/__init__.py | 0 .../contrib/__pycache__/__init__.cpython-311.pyc | Bin 211 -> 0 bytes .../__pycache__/_appengine_environ.cpython-311.pyc | Bin 1950 -> 0 bytes .../contrib/__pycache__/appengine.cpython-311.pyc | Bin 12157 -> 0 bytes .../contrib/__pycache__/ntlmpool.cpython-311.pyc | Bin 6234 -> 0 bytes .../contrib/__pycache__/pyopenssl.cpython-311.pyc | Bin 25743 -> 0 bytes .../__pycache__/securetransport.cpython-311.pyc | Bin 36850 -> 0 bytes .../contrib/__pycache__/socks.cpython-311.pyc | Bin 8095 -> 0 bytes .../_vendor/urllib3/contrib/_appengine_environ.py | 36 - .../urllib3/contrib/_securetransport/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 228 -> 0 bytes .../__pycache__/bindings.cpython-311.pyc | Bin 16975 -> 0 bytes .../__pycache__/low_level.cpython-311.pyc | Bin 15612 -> 0 bytes .../urllib3/contrib/_securetransport/bindings.py | 519 - .../urllib3/contrib/_securetransport/low_level.py | 397 - .../pip/_vendor/urllib3/contrib/appengine.py | 314 - .../pip/_vendor/urllib3/contrib/ntlmpool.py | 130 - .../pip/_vendor/urllib3/contrib/pyopenssl.py | 518 - .../pip/_vendor/urllib3/contrib/securetransport.py | 921 - .../pip/_vendor/urllib3/contrib/socks.py | 216 - .../pip/_vendor/urllib3/exceptions.py | 323 - .../site-packages/pip/_vendor/urllib3/fields.py | 274 - .../site-packages/pip/_vendor/urllib3/filepost.py | 98 - .../pip/_vendor/urllib3/packages/__init__.py | 0 .../packages/__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../packages/__pycache__/six.cpython-311.pyc | Bin 46454 -> 0 bytes .../_vendor/urllib3/packages/backports/__init__.py | 0 .../backports/__pycache__/__init__.cpython-311.pyc | Bin 222 -> 0 bytes .../backports/__pycache__/makefile.cpython-311.pyc | Bin 1969 -> 0 bytes .../__pycache__/weakref_finalize.cpython-311.pyc | Bin 7997 -> 0 bytes .../_vendor/urllib3/packages/backports/makefile.py | 51 - .../urllib3/packages/backports/weakref_finalize.py | 155 - .../pip/_vendor/urllib3/packages/six.py | 1076 - .../pip/_vendor/urllib3/poolmanager.py | 537 - .../site-packages/pip/_vendor/urllib3/request.py | 191 - .../site-packages/pip/_vendor/urllib3/response.py | 879 - .../pip/_vendor/urllib3/util/__init__.py | 49 - .../util/__pycache__/__init__.cpython-311.pyc | Bin 1414 -> 0 bytes .../util/__pycache__/connection.cpython-311.pyc | Bin 5141 -> 0 bytes .../urllib3/util/__pycache__/proxy.cpython-311.pyc | Bin 1723 -> 0 bytes .../urllib3/util/__pycache__/queue.cpython-311.pyc | Bin 1506 -> 0 bytes .../util/__pycache__/request.cpython-311.pyc | Bin 4626 -> 0 bytes .../util/__pycache__/response.cpython-311.pyc | Bin 3495 -> 0 bytes .../urllib3/util/__pycache__/retry.cpython-311.pyc | Bin 22775 -> 0 bytes .../urllib3/util/__pycache__/ssl_.cpython-311.pyc | Bin 16826 -> 0 bytes .../__pycache__/ssl_match_hostname.cpython-311.pyc | Bin 5805 -> 0 bytes .../util/__pycache__/ssltransport.cpython-311.pyc | Bin 11634 -> 0 bytes .../util/__pycache__/timeout.cpython-311.pyc | Bin 11348 -> 0 bytes .../urllib3/util/__pycache__/url.cpython-311.pyc | Bin 17589 -> 0 bytes .../urllib3/util/__pycache__/wait.cpython-311.pyc | Bin 5008 -> 0 bytes .../pip/_vendor/urllib3/util/connection.py | 149 - .../pip/_vendor/urllib3/util/proxy.py | 57 - .../pip/_vendor/urllib3/util/queue.py | 22 - .../pip/_vendor/urllib3/util/request.py | 137 - .../pip/_vendor/urllib3/util/response.py | 107 - .../pip/_vendor/urllib3/util/retry.py | 620 - .../site-packages/pip/_vendor/urllib3/util/ssl_.py | 495 - .../pip/_vendor/urllib3/util/ssl_match_hostname.py | 159 - .../pip/_vendor/urllib3/util/ssltransport.py | 221 - .../pip/_vendor/urllib3/util/timeout.py | 271 - .../site-packages/pip/_vendor/urllib3/util/url.py | 435 - .../site-packages/pip/_vendor/urllib3/util/wait.py | 152 - .../site-packages/pip/_vendor/vendor.txt | 24 - .../pip/_vendor/webencodings/__init__.py | 342 - .../__pycache__/__init__.cpython-311.pyc | Bin 12888 -> 0 bytes .../__pycache__/labels.cpython-311.pyc | Bin 7288 -> 0 bytes .../__pycache__/mklabels.cpython-311.pyc | Bin 3216 -> 0 bytes .../webencodings/__pycache__/tests.cpython-311.pyc | Bin 11194 -> 0 bytes .../__pycache__/x_user_defined.cpython-311.pyc | Bin 3568 -> 0 bytes .../pip/_vendor/webencodings/labels.py | 231 - .../pip/_vendor/webencodings/mklabels.py | 59 - .../pip/_vendor/webencodings/tests.py | 153 - .../pip/_vendor/webencodings/x_user_defined.py | 325 - venv/lib/python3.11/site-packages/pip/py.typed | 4 - .../site-packages/pkg_resources/__init__.py | 3296 - .../__pycache__/__init__.cpython-311.pyc | Bin 159577 -> 0 bytes .../pkg_resources/_vendor/__init__.py | 0 .../_vendor/__pycache__/__init__.cpython-311.pyc | Bin 205 -> 0 bytes .../_vendor/__pycache__/appdirs.cpython-311.pyc | Bin 29453 -> 0 bytes .../_vendor/__pycache__/zipp.cpython-311.pyc | Bin 15998 -> 0 bytes .../site-packages/pkg_resources/_vendor/appdirs.py | 608 - .../_vendor/importlib_resources/__init__.py | 36 - .../__pycache__/__init__.cpython-311.pyc | Bin 839 -> 0 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 10756 -> 0 bytes .../__pycache__/_common.cpython-311.pyc | Bin 4283 -> 0 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 5568 -> 0 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 1401 -> 0 bytes .../__pycache__/_legacy.cpython-311.pyc | Bin 6499 -> 0 bytes .../__pycache__/abc.cpython-311.pyc | Bin 7500 -> 0 bytes .../__pycache__/readers.cpython-311.pyc | Bin 8374 -> 0 bytes .../__pycache__/simple.cpython-311.pyc | Bin 6396 -> 0 bytes .../_vendor/importlib_resources/_adapters.py | 170 - .../_vendor/importlib_resources/_common.py | 104 - .../_vendor/importlib_resources/_compat.py | 98 - .../_vendor/importlib_resources/_itertools.py | 35 - .../_vendor/importlib_resources/_legacy.py | 121 - .../_vendor/importlib_resources/abc.py | 137 - .../_vendor/importlib_resources/readers.py | 122 - .../_vendor/importlib_resources/simple.py | 116 - .../pkg_resources/_vendor/jaraco/__init__.py | 0 .../jaraco/__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../jaraco/__pycache__/context.cpython-311.pyc | Bin 9435 -> 0 bytes .../jaraco/__pycache__/functools.cpython-311.pyc | Bin 20298 -> 0 bytes .../pkg_resources/_vendor/jaraco/context.py | 213 - .../pkg_resources/_vendor/jaraco/functools.py | 525 - .../pkg_resources/_vendor/jaraco/text/__init__.py | 599 - .../text/__pycache__/__init__.cpython-311.pyc | Bin 26615 -> 0 bytes .../_vendor/more_itertools/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 306 -> 0 bytes .../__pycache__/more.cpython-311.pyc | Bin 167967 -> 0 bytes .../__pycache__/recipes.cpython-311.pyc | Bin 26958 -> 0 bytes .../pkg_resources/_vendor/more_itertools/more.py | 4316 -- .../_vendor/more_itertools/recipes.py | 698 - .../pkg_resources/_vendor/packaging/__about__.py | 26 - .../pkg_resources/_vendor/packaging/__init__.py | 25 - .../__pycache__/__about__.cpython-311.pyc | Bin 656 -> 0 bytes .../packaging/__pycache__/__init__.cpython-311.pyc | Bin 577 -> 0 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 13243 -> 0 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 8011 -> 0 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 3699 -> 0 bytes .../packaging/__pycache__/markers.cpython-311.pyc | Bin 16548 -> 0 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 7663 -> 0 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 34377 -> 0 bytes .../packaging/__pycache__/tags.cpython-311.pyc | Bin 21362 -> 0 bytes .../packaging/__pycache__/utils.cpython-311.pyc | Bin 6697 -> 0 bytes .../packaging/__pycache__/version.cpython-311.pyc | Bin 21889 -> 0 bytes .../pkg_resources/_vendor/packaging/_manylinux.py | 301 - .../pkg_resources/_vendor/packaging/_musllinux.py | 136 - .../pkg_resources/_vendor/packaging/_structures.py | 61 - .../pkg_resources/_vendor/packaging/markers.py | 304 - .../_vendor/packaging/requirements.py | 146 - .../pkg_resources/_vendor/packaging/specifiers.py | 802 - .../pkg_resources/_vendor/packaging/tags.py | 487 - .../pkg_resources/_vendor/packaging/utils.py | 136 - .../pkg_resources/_vendor/packaging/version.py | 504 - .../pkg_resources/_vendor/pyparsing/__init__.py | 331 - .../pyparsing/__pycache__/__init__.cpython-311.pyc | Bin 8350 -> 0 bytes .../pyparsing/__pycache__/actions.cpython-311.pyc | Bin 8476 -> 0 bytes .../pyparsing/__pycache__/common.cpython-311.pyc | Bin 14798 -> 0 bytes .../pyparsing/__pycache__/core.cpython-311.pyc | Bin 277650 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 12940 -> 0 bytes .../pyparsing/__pycache__/helpers.cpython-311.pyc | Bin 53641 -> 0 bytes .../pyparsing/__pycache__/results.cpython-311.pyc | Bin 36324 -> 0 bytes .../pyparsing/__pycache__/testing.cpython-311.pyc | Bin 19520 -> 0 bytes .../pyparsing/__pycache__/unicode.cpython-311.pyc | Bin 15378 -> 0 bytes .../pyparsing/__pycache__/util.cpython-311.pyc | Bin 14277 -> 0 bytes .../pkg_resources/_vendor/pyparsing/actions.py | 207 - .../pkg_resources/_vendor/pyparsing/common.py | 424 - .../pkg_resources/_vendor/pyparsing/core.py | 5814 -- .../_vendor/pyparsing/diagram/__init__.py | 642 - .../diagram/__pycache__/__init__.cpython-311.pyc | Bin 28013 -> 0 bytes .../pkg_resources/_vendor/pyparsing/exceptions.py | 267 - .../pkg_resources/_vendor/pyparsing/helpers.py | 1088 - .../pkg_resources/_vendor/pyparsing/results.py | 760 - .../pkg_resources/_vendor/pyparsing/testing.py | 331 - .../pkg_resources/_vendor/pyparsing/unicode.py | 352 - .../pkg_resources/_vendor/pyparsing/util.py | 235 - .../site-packages/pkg_resources/_vendor/zipp.py | 329 - .../site-packages/pkg_resources/extern/__init__.py | 76 - .../extern/__pycache__/__init__.cpython-311.pyc | Bin 4324 -> 0 bytes .../polyfactory-2.15.0.dist-info/INSTALLER | 1 - .../polyfactory-2.15.0.dist-info/METADATA | 208 - .../polyfactory-2.15.0.dist-info/RECORD | 78 - .../polyfactory-2.15.0.dist-info/WHEEL | 4 - .../polyfactory-2.15.0.dist-info/licenses/LICENSE | 21 - .../site-packages/polyfactory/__init__.py | 16 - .../__pycache__/__init__.cpython-311.pyc | Bin 659 -> 0 bytes .../collection_extender.cpython-311.pyc | Bin 5895 -> 0 bytes .../__pycache__/constants.cpython-311.pyc | Bin 1721 -> 0 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 2751 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 1679 -> 0 bytes .../__pycache__/field_meta.cpython-311.pyc | Bin 11914 -> 0 bytes .../polyfactory/__pycache__/fields.cpython-311.pyc | Bin 5858 -> 0 bytes .../__pycache__/persistence.cpython-311.pyc | Bin 2347 -> 0 bytes .../__pycache__/pytest_plugin.cpython-311.pyc | Bin 4490 -> 0 bytes .../polyfactory/collection_extender.py | 89 - .../site-packages/polyfactory/constants.py | 72 - .../site-packages/polyfactory/decorators.py | 31 - .../site-packages/polyfactory/exceptions.py | 18 - .../polyfactory/factories/__init__.py | 5 - .../factories/__pycache__/__init__.cpython-311.pyc | Bin 507 -> 0 bytes .../__pycache__/attrs_factory.cpython-311.pyc | Bin 3571 -> 0 bytes .../factories/__pycache__/base.cpython-311.pyc | Bin 57046 -> 0 bytes .../__pycache__/beanie_odm_factory.cpython-311.pyc | Bin 4879 -> 0 bytes .../__pycache__/dataclass_factory.cpython-311.pyc | Bin 2741 -> 0 bytes .../__pycache__/msgspec_factory.cpython-311.pyc | Bin 4502 -> 0 bytes .../odmantic_odm_factory.cpython-311.pyc | Bin 4800 -> 0 bytes .../__pycache__/pydantic_factory.cpython-311.pyc | Bin 29116 -> 0 bytes .../__pycache__/sqlalchemy_factory.cpython-311.pyc | Bin 13671 -> 0 bytes .../__pycache__/typed_dict_factory.cpython-311.pyc | Bin 2898 -> 0 bytes .../polyfactory/factories/attrs_factory.py | 82 - .../site-packages/polyfactory/factories/base.py | 1127 - .../polyfactory/factories/beanie_odm_factory.py | 87 - .../polyfactory/factories/dataclass_factory.py | 58 - .../polyfactory/factories/msgspec_factory.py | 72 - .../polyfactory/factories/odmantic_odm_factory.py | 60 - .../polyfactory/factories/pydantic_factory.py | 554 - .../polyfactory/factories/sqlalchemy_factory.py | 186 - .../polyfactory/factories/typed_dict_factory.py | 61 - .../site-packages/polyfactory/field_meta.py | 233 - .../python3.11/site-packages/polyfactory/fields.py | 116 - .../site-packages/polyfactory/persistence.py | 53 - .../python3.11/site-packages/polyfactory/py.typed | 0 .../site-packages/polyfactory/pytest_plugin.py | 104 - .../site-packages/polyfactory/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../utils/__pycache__/deprecation.cpython-311.pyc | Bin 6309 -> 0 bytes .../utils/__pycache__/helpers.cpython-311.pyc | Bin 9079 -> 0 bytes .../__pycache__/model_coverage.cpython-311.pyc | Bin 8226 -> 0 bytes .../utils/__pycache__/predicates.cpython-311.pyc | Bin 6304 -> 0 bytes .../utils/__pycache__/types.cpython-311.pyc | Bin 532 -> 0 bytes .../site-packages/polyfactory/utils/deprecation.py | 149 - .../site-packages/polyfactory/utils/helpers.py | 196 - .../polyfactory/utils/model_coverage.py | 146 - .../site-packages/polyfactory/utils/predicates.py | 134 - .../site-packages/polyfactory/utils/types.py | 12 - .../polyfactory/value_generators/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../__pycache__/complex_types.cpython-311.pyc | Bin 6066 -> 0 bytes .../constrained_collections.cpython-311.pyc | Bin 4270 -> 0 bytes .../__pycache__/constrained_dates.cpython-311.pyc | Bin 1998 -> 0 bytes .../constrained_numbers.cpython-311.pyc | Bin 13729 -> 0 bytes .../__pycache__/constrained_path.cpython-311.pyc | Bin 1126 -> 0 bytes .../constrained_strings.cpython-311.pyc | Bin 4463 -> 0 bytes .../__pycache__/constrained_url.cpython-311.pyc | Bin 974 -> 0 bytes .../__pycache__/constrained_uuid.cpython-311.pyc | Bin 1694 -> 0 bytes .../__pycache__/primitives.cpython-311.pyc | Bin 5019 -> 0 bytes .../__pycache__/regex.cpython-311.pyc | Bin 12629 -> 0 bytes .../polyfactory/value_generators/complex_types.py | 111 - .../value_generators/constrained_collections.py | 92 - .../value_generators/constrained_dates.py | 41 - .../value_generators/constrained_numbers.py | 440 - .../value_generators/constrained_path.py | 13 - .../value_generators/constrained_strings.py | 138 - .../value_generators/constrained_url.py | 10 - .../value_generators/constrained_uuid.py | 31 - .../polyfactory/value_generators/primitives.py | 129 - .../polyfactory/value_generators/regex.py | 150 - .../pygments-2.17.2.dist-info/INSTALLER | 1 - .../pygments-2.17.2.dist-info/METADATA | 59 - .../site-packages/pygments-2.17.2.dist-info/RECORD | 650 - .../site-packages/pygments-2.17.2.dist-info/WHEEL | 4 - .../pygments-2.17.2.dist-info/entry_points.txt | 2 - .../pygments-2.17.2.dist-info/licenses/AUTHORS | 279 - .../pygments-2.17.2.dist-info/licenses/LICENSE | 25 - .../python3.11/site-packages/pygments/__init__.py | 82 - .../python3.11/site-packages/pygments/__main__.py | 17 - .../pygments/__pycache__/__init__.cpython-311.pyc | Bin 3800 -> 0 bytes .../pygments/__pycache__/__main__.cpython-311.pyc | Bin 802 -> 0 bytes .../pygments/__pycache__/cmdline.cpython-311.pyc | Bin 30095 -> 0 bytes .../pygments/__pycache__/console.cpython-311.pyc | Bin 3036 -> 0 bytes .../pygments/__pycache__/filter.cpython-311.pyc | Bin 3497 -> 0 bytes .../pygments/__pycache__/formatter.cpython-311.pyc | Bin 4788 -> 0 bytes .../pygments/__pycache__/lexer.cpython-311.pyc | Bin 42662 -> 0 bytes .../pygments/__pycache__/modeline.cpython-311.pyc | Bin 1716 -> 0 bytes .../pygments/__pycache__/plugin.cpython-311.pyc | Bin 3717 -> 0 bytes .../pygments/__pycache__/regexopt.cpython-311.pyc | Bin 5023 -> 0 bytes .../pygments/__pycache__/scanner.cpython-311.pyc | Bin 4878 -> 0 bytes .../pygments/__pycache__/sphinxext.cpython-311.pyc | Bin 13799 -> 0 bytes .../pygments/__pycache__/style.cpython-311.pyc | Bin 7448 -> 0 bytes .../pygments/__pycache__/token.cpython-311.pyc | Bin 7496 -> 0 bytes .../pygments/__pycache__/unistring.cpython-311.pyc | Bin 33830 -> 0 bytes .../pygments/__pycache__/util.cpython-311.pyc | Bin 15682 -> 0 bytes .../python3.11/site-packages/pygments/cmdline.py | 668 - .../python3.11/site-packages/pygments/console.py | 70 - .../python3.11/site-packages/pygments/filter.py | 71 - .../site-packages/pygments/filters/__init__.py | 940 - .../filters/__pycache__/__init__.cpython-311.pyc | Bin 40049 -> 0 bytes .../python3.11/site-packages/pygments/formatter.py | 124 - .../site-packages/pygments/formatters/__init__.py | 158 - .../__pycache__/__init__.cpython-311.pyc | Bin 7737 -> 0 bytes .../__pycache__/_mapping.cpython-311.pyc | Bin 4215 -> 0 bytes .../formatters/__pycache__/bbcode.cpython-311.pyc | Bin 4447 -> 0 bytes .../formatters/__pycache__/groff.cpython-311.pyc | Bin 7820 -> 0 bytes .../formatters/__pycache__/html.cpython-311.pyc | Bin 42707 -> 0 bytes .../formatters/__pycache__/img.cpython-311.pyc | Bin 30048 -> 0 bytes .../formatters/__pycache__/irc.cpython-311.pyc | Bin 6361 -> 0 bytes .../formatters/__pycache__/latex.cpython-311.pyc | Bin 21749 -> 0 bytes .../formatters/__pycache__/other.cpython-311.pyc | Bin 7577 -> 0 bytes .../__pycache__/pangomarkup.cpython-311.pyc | Bin 3157 -> 0 bytes .../formatters/__pycache__/rtf.cpython-311.pyc | Bin 6812 -> 0 bytes .../formatters/__pycache__/svg.cpython-311.pyc | Bin 9620 -> 0 bytes .../__pycache__/terminal.cpython-311.pyc | Bin 5987 -> 0 bytes .../__pycache__/terminal256.cpython-311.pyc | Bin 16365 -> 0 bytes .../site-packages/pygments/formatters/_mapping.py | 23 - .../site-packages/pygments/formatters/bbcode.py | 108 - .../site-packages/pygments/formatters/groff.py | 170 - .../site-packages/pygments/formatters/html.py | 990 - .../site-packages/pygments/formatters/img.py | 684 - .../site-packages/pygments/formatters/irc.py | 154 - .../site-packages/pygments/formatters/latex.py | 521 - .../site-packages/pygments/formatters/other.py | 161 - .../pygments/formatters/pangomarkup.py | 83 - .../site-packages/pygments/formatters/rtf.py | 146 - .../site-packages/pygments/formatters/svg.py | 188 - .../site-packages/pygments/formatters/terminal.py | 127 - .../pygments/formatters/terminal256.py | 338 - .../lib/python3.11/site-packages/pygments/lexer.py | 959 - .../site-packages/pygments/lexers/__init__.py | 363 - .../lexers/__pycache__/__init__.cpython-311.pyc | Bin 16321 -> 0 bytes .../__pycache__/_ada_builtins.cpython-311.pyc | Bin 1245 -> 0 bytes .../__pycache__/_asy_builtins.cpython-311.pyc | Bin 17662 -> 0 bytes .../__pycache__/_cl_builtins.cpython-311.pyc | Bin 11746 -> 0 bytes .../__pycache__/_cocoa_builtins.cpython-311.pyc | Bin 98063 -> 0 bytes .../__pycache__/_csound_builtins.cpython-311.pyc | Bin 16459 -> 0 bytes .../__pycache__/_css_builtins.cpython-311.pyc | Bin 9395 -> 0 bytes .../__pycache__/_julia_builtins.cpython-311.pyc | Bin 8282 -> 0 bytes .../__pycache__/_lasso_builtins.cpython-311.pyc | Bin 76750 -> 0 bytes .../__pycache__/_lilypond_builtins.cpython-311.pyc | Bin 88650 -> 0 bytes .../__pycache__/_lua_builtins.cpython-311.pyc | Bin 9488 -> 0 bytes .../lexers/__pycache__/_mapping.cpython-311.pyc | Bin 64699 -> 0 bytes .../__pycache__/_mql_builtins.cpython-311.pyc | Bin 18019 -> 0 bytes .../__pycache__/_mysql_builtins.cpython-311.pyc | Bin 20410 -> 0 bytes .../__pycache__/_openedge_builtins.cpython-311.pyc | Bin 34103 -> 0 bytes .../__pycache__/_php_builtins.cpython-311.pyc | Bin 66412 -> 0 bytes .../__pycache__/_postgres_builtins.cpython-311.pyc | Bin 12353 -> 0 bytes .../__pycache__/_qlik_builtins.cpython-311.pyc | Bin 6445 -> 0 bytes .../__pycache__/_scheme_builtins.cpython-311.pyc | Bin 23207 -> 0 bytes .../__pycache__/_scilab_builtins.cpython-311.pyc | Bin 35748 -> 0 bytes .../_sourcemod_builtins.cpython-311.pyc | Bin 22536 -> 0 bytes .../__pycache__/_stan_builtins.cpython-311.pyc | Bin 9962 -> 0 bytes .../__pycache__/_stata_builtins.cpython-311.pyc | Bin 21248 -> 0 bytes .../__pycache__/_tsql_builtins.cpython-311.pyc | Bin 8900 -> 0 bytes .../__pycache__/_usd_builtins.cpython-311.pyc | Bin 1448 -> 0 bytes .../__pycache__/_vbscript_builtins.cpython-311.pyc | Bin 3003 -> 0 bytes .../__pycache__/_vim_builtins.cpython-311.pyc | Bin 30806 -> 0 bytes .../__pycache__/actionscript.cpython-311.pyc | Bin 11171 -> 0 bytes .../lexers/__pycache__/ada.cpython-311.pyc | Bin 5441 -> 0 bytes .../lexers/__pycache__/agile.cpython-311.pyc | Bin 1568 -> 0 bytes .../lexers/__pycache__/algebra.cpython-311.pyc | Bin 11474 -> 0 bytes .../lexers/__pycache__/ambient.cpython-311.pyc | Bin 3103 -> 0 bytes .../lexers/__pycache__/amdgpu.cpython-311.pyc | Bin 2188 -> 0 bytes .../lexers/__pycache__/ampl.cpython-311.pyc | Bin 4168 -> 0 bytes .../lexers/__pycache__/apdlexer.cpython-311.pyc | Bin 19148 -> 0 bytes .../lexers/__pycache__/apl.cpython-311.pyc | Bin 2529 -> 0 bytes .../lexers/__pycache__/archetype.cpython-311.pyc | Bin 9499 -> 0 bytes .../lexers/__pycache__/arrow.cpython-311.pyc | Bin 3652 -> 0 bytes .../lexers/__pycache__/arturo.cpython-311.pyc | Bin 9826 -> 0 bytes .../lexers/__pycache__/asc.cpython-311.pyc | Bin 2167 -> 0 bytes .../lexers/__pycache__/asm.cpython-311.pyc | Bin 36031 -> 0 bytes .../lexers/__pycache__/asn1.cpython-311.pyc | Bin 4655 -> 0 bytes .../lexers/__pycache__/automation.cpython-311.pyc | Bin 18404 -> 0 bytes .../lexers/__pycache__/bare.cpython-311.pyc | Bin 3063 -> 0 bytes .../lexers/__pycache__/basic.cpython-311.pyc | Bin 25365 -> 0 bytes .../lexers/__pycache__/bdd.cpython-311.pyc | Bin 2300 -> 0 bytes .../lexers/__pycache__/berry.cpython-311.pyc | Bin 3721 -> 0 bytes .../lexers/__pycache__/bibtex.cpython-311.pyc | Bin 5633 -> 0 bytes .../lexers/__pycache__/blueprint.cpython-311.pyc | Bin 5529 -> 0 bytes .../lexers/__pycache__/boa.cpython-311.pyc | Bin 3665 -> 0 bytes .../lexers/__pycache__/bqn.cpython-311.pyc | Bin 2381 -> 0 bytes .../lexers/__pycache__/business.cpython-311.pyc | Bin 21975 -> 0 bytes .../lexers/__pycache__/c_cpp.cpython-311.pyc | Bin 16485 -> 0 bytes .../lexers/__pycache__/c_like.cpython-311.pyc | Bin 26448 -> 0 bytes .../lexers/__pycache__/capnproto.cpython-311.pyc | Bin 2433 -> 0 bytes .../lexers/__pycache__/carbon.cpython-311.pyc | Bin 3632 -> 0 bytes .../lexers/__pycache__/cddl.cpython-311.pyc | Bin 4569 -> 0 bytes .../lexers/__pycache__/chapel.cpython-311.pyc | Bin 4397 -> 0 bytes .../lexers/__pycache__/clean.cpython-311.pyc | Bin 6282 -> 0 bytes .../lexers/__pycache__/comal.cpython-311.pyc | Bin 3351 -> 0 bytes .../lexers/__pycache__/compiled.cpython-311.pyc | Bin 2401 -> 0 bytes .../lexers/__pycache__/configs.cpython-311.pyc | Bin 45582 -> 0 bytes .../lexers/__pycache__/console.cpython-311.pyc | Bin 4370 -> 0 bytes .../lexers/__pycache__/cplint.cpython-311.pyc | Bin 1897 -> 0 bytes .../lexers/__pycache__/crystal.cpython-311.pyc | Bin 15302 -> 0 bytes .../lexers/__pycache__/csound.cpython-311.pyc | Bin 14637 -> 0 bytes .../lexers/__pycache__/css.cpython-311.pyc | Bin 22095 -> 0 bytes .../pygments/lexers/__pycache__/d.cpython-311.pyc | Bin 8306 -> 0 bytes .../lexers/__pycache__/dalvik.cpython-311.pyc | Bin 4821 -> 0 bytes .../lexers/__pycache__/data.cpython-311.pyc | Bin 23101 -> 0 bytes .../lexers/__pycache__/dax.cpython-311.pyc | Bin 6310 -> 0 bytes .../lexers/__pycache__/devicetree.cpython-311.pyc | Bin 4109 -> 0 bytes .../lexers/__pycache__/diff.cpython-311.pyc | Bin 5708 -> 0 bytes .../lexers/__pycache__/dns.cpython-311.pyc | Bin 3822 -> 0 bytes .../lexers/__pycache__/dotnet.cpython-311.pyc | Bin 34708 -> 0 bytes .../lexers/__pycache__/dsls.cpython-311.pyc | Bin 34488 -> 0 bytes .../lexers/__pycache__/dylan.cpython-311.pyc | Bin 9977 -> 0 bytes .../lexers/__pycache__/ecl.cpython-311.pyc | Bin 5761 -> 0 bytes .../lexers/__pycache__/eiffel.cpython-311.pyc | Bin 3054 -> 0 bytes .../lexers/__pycache__/elm.cpython-311.pyc | Bin 3232 -> 0 bytes .../lexers/__pycache__/elpi.cpython-311.pyc | Bin 7140 -> 0 bytes .../lexers/__pycache__/email.cpython-311.pyc | Bin 6065 -> 0 bytes .../lexers/__pycache__/erlang.cpython-311.pyc | Bin 21324 -> 0 bytes .../lexers/__pycache__/esoteric.cpython-311.pyc | Bin 10102 -> 0 bytes .../lexers/__pycache__/ezhil.cpython-311.pyc | Bin 4140 -> 0 bytes .../lexers/__pycache__/factor.cpython-311.pyc | Bin 17030 -> 0 bytes .../lexers/__pycache__/fantom.cpython-311.pyc | Bin 8445 -> 0 bytes .../lexers/__pycache__/felix.cpython-311.pyc | Bin 8370 -> 0 bytes .../lexers/__pycache__/fift.cpython-311.pyc | Bin 1961 -> 0 bytes .../lexers/__pycache__/floscript.cpython-311.pyc | Bin 3071 -> 0 bytes .../lexers/__pycache__/forth.cpython-311.pyc | Bin 5448 -> 0 bytes .../lexers/__pycache__/fortran.cpython-311.pyc | Bin 8932 -> 0 bytes .../lexers/__pycache__/foxpro.cpython-311.pyc | Bin 20716 -> 0 bytes .../lexers/__pycache__/freefem.cpython-311.pyc | Bin 12954 -> 0 bytes .../lexers/__pycache__/func.cpython-311.pyc | Bin 3502 -> 0 bytes .../lexers/__pycache__/functional.cpython-311.pyc | Bin 1246 -> 0 bytes .../lexers/__pycache__/futhark.cpython-311.pyc | Bin 3928 -> 0 bytes .../lexers/__pycache__/gcodelexer.cpython-311.pyc | Bin 1380 -> 0 bytes .../lexers/__pycache__/gdscript.cpython-311.pyc | Bin 7341 -> 0 bytes .../pygments/lexers/__pycache__/go.cpython-311.pyc | Bin 3490 -> 0 bytes .../__pycache__/grammar_notation.cpython-311.pyc | Bin 7819 -> 0 bytes .../lexers/__pycache__/graph.cpython-311.pyc | Bin 4295 -> 0 bytes .../lexers/__pycache__/graphics.cpython-311.pyc | Bin 30259 -> 0 bytes .../lexers/__pycache__/graphql.cpython-311.pyc | Bin 4668 -> 0 bytes .../lexers/__pycache__/graphviz.cpython-311.pyc | Bin 2314 -> 0 bytes .../lexers/__pycache__/gsql.cpython-311.pyc | Bin 4073 -> 0 bytes .../lexers/__pycache__/haskell.cpython-311.pyc | Bin 29499 -> 0 bytes .../lexers/__pycache__/haxe.cpython-311.pyc | Bin 23185 -> 0 bytes .../lexers/__pycache__/hdl.cpython-311.pyc | Bin 17153 -> 0 bytes .../lexers/__pycache__/hexdump.cpython-311.pyc | Bin 3797 -> 0 bytes .../lexers/__pycache__/html.cpython-311.pyc | Bin 19621 -> 0 bytes .../lexers/__pycache__/idl.cpython-311.pyc | Bin 12582 -> 0 bytes .../lexers/__pycache__/igor.cpython-311.pyc | Bin 25839 -> 0 bytes .../lexers/__pycache__/inferno.cpython-311.pyc | Bin 3398 -> 0 bytes .../lexers/__pycache__/installers.cpython-311.pyc | Bin 12913 -> 0 bytes .../lexers/__pycache__/int_fiction.cpython-311.pyc | Bin 48888 -> 0 bytes .../lexers/__pycache__/iolang.cpython-311.pyc | Bin 2228 -> 0 bytes .../pygments/lexers/__pycache__/j.cpython-311.pyc | Bin 4305 -> 0 bytes .../lexers/__pycache__/javascript.cpython-311.pyc | Bin 55789 -> 0 bytes .../lexers/__pycache__/jmespath.cpython-311.pyc | Bin 2583 -> 0 bytes .../lexers/__pycache__/jslt.cpython-311.pyc | Bin 3880 -> 0 bytes .../lexers/__pycache__/jsonnet.cpython-311.pyc | Bin 5178 -> 0 bytes .../lexers/__pycache__/jsx.cpython-311.pyc | Bin 2556 -> 0 bytes .../lexers/__pycache__/julia.cpython-311.pyc | Bin 11399 -> 0 bytes .../lexers/__pycache__/jvm.cpython-311.pyc | Bin 62899 -> 0 bytes .../lexers/__pycache__/kuin.cpython-311.pyc | Bin 10894 -> 0 bytes .../lexers/__pycache__/kusto.cpython-311.pyc | Bin 3019 -> 0 bytes .../lexers/__pycache__/ldap.cpython-311.pyc | Bin 6802 -> 0 bytes .../lexers/__pycache__/lean.cpython-311.pyc | Bin 4256 -> 0 bytes .../lexers/__pycache__/lilypond.cpython-311.pyc | Bin 7770 -> 0 bytes .../lexers/__pycache__/lisp.cpython-311.pyc | Bin 112065 -> 0 bytes .../lexers/__pycache__/macaulay2.cpython-311.pyc | Bin 22387 -> 0 bytes .../lexers/__pycache__/make.cpython-311.pyc | Bin 7122 -> 0 bytes .../lexers/__pycache__/markup.cpython-311.pyc | Bin 59704 -> 0 bytes .../lexers/__pycache__/math.cpython-311.pyc | Bin 1217 -> 0 bytes .../lexers/__pycache__/matlab.cpython-311.pyc | Bin 56538 -> 0 bytes .../lexers/__pycache__/maxima.cpython-311.pyc | Bin 3295 -> 0 bytes .../lexers/__pycache__/meson.cpython-311.pyc | Bin 3705 -> 0 bytes .../lexers/__pycache__/mime.cpython-311.pyc | Bin 11141 -> 0 bytes .../lexers/__pycache__/minecraft.cpython-311.pyc | Bin 10481 -> 0 bytes .../lexers/__pycache__/mips.cpython-311.pyc | Bin 3526 -> 0 bytes .../pygments/lexers/__pycache__/ml.cpython-311.pyc | Bin 24533 -> 0 bytes .../lexers/__pycache__/modeling.cpython-311.pyc | Bin 11931 -> 0 bytes .../lexers/__pycache__/modula2.cpython-311.pyc | Bin 27075 -> 0 bytes .../lexers/__pycache__/monte.cpython-311.pyc | Bin 5122 -> 0 bytes .../lexers/__pycache__/mosel.cpython-311.pyc | Bin 6890 -> 0 bytes .../lexers/__pycache__/ncl.cpython-311.pyc | Bin 46068 -> 0 bytes .../lexers/__pycache__/nimrod.cpython-311.pyc | Bin 6235 -> 0 bytes .../lexers/__pycache__/nit.cpython-311.pyc | Bin 2857 -> 0 bytes .../lexers/__pycache__/nix.cpython-311.pyc | Bin 5382 -> 0 bytes .../lexers/__pycache__/oberon.cpython-311.pyc | Bin 3915 -> 0 bytes .../lexers/__pycache__/objective.cpython-311.pyc | Bin 19880 -> 0 bytes .../lexers/__pycache__/ooc.cpython-311.pyc | Bin 3187 -> 0 bytes .../lexers/__pycache__/openscad.cpython-311.pyc | Bin 3774 -> 0 bytes .../lexers/__pycache__/other.cpython-311.pyc | Bin 3031 -> 0 bytes .../lexers/__pycache__/parasail.cpython-311.pyc | Bin 2925 -> 0 bytes .../lexers/__pycache__/parsers.cpython-311.pyc | Bin 27244 -> 0 bytes .../lexers/__pycache__/pascal.cpython-311.pyc | Bin 24892 -> 0 bytes .../lexers/__pycache__/pawn.cpython-311.pyc | Bin 7535 -> 0 bytes .../lexers/__pycache__/perl.cpython-311.pyc | Bin 39228 -> 0 bytes .../lexers/__pycache__/phix.cpython-311.pyc | Bin 18494 -> 0 bytes .../lexers/__pycache__/php.cpython-311.pyc | Bin 14686 -> 0 bytes .../lexers/__pycache__/pointless.cpython-311.pyc | Bin 2429 -> 0 bytes .../lexers/__pycache__/pony.cpython-311.pyc | Bin 3455 -> 0 bytes .../lexers/__pycache__/praat.cpython-311.pyc | Bin 10712 -> 0 bytes .../lexers/__pycache__/procfile.cpython-311.pyc | Bin 1720 -> 0 bytes .../lexers/__pycache__/prolog.cpython-311.pyc | Bin 10311 -> 0 bytes .../lexers/__pycache__/promql.cpython-311.pyc | Bin 3513 -> 0 bytes .../lexers/__pycache__/prql.cpython-311.pyc | Bin 8257 -> 0 bytes .../lexers/__pycache__/ptx.cpython-311.pyc | Bin 3941 -> 0 bytes .../lexers/__pycache__/python.cpython-311.pyc | Bin 43268 -> 0 bytes .../pygments/lexers/__pycache__/q.cpython-311.pyc | Bin 5843 -> 0 bytes .../lexers/__pycache__/qlik.cpython-311.pyc | Bin 3611 -> 0 bytes .../lexers/__pycache__/qvt.cpython-311.pyc | Bin 5470 -> 0 bytes .../pygments/lexers/__pycache__/r.cpython-311.pyc | Bin 6388 -> 0 bytes .../lexers/__pycache__/rdf.cpython-311.pyc | Bin 12091 -> 0 bytes .../lexers/__pycache__/rebol.cpython-311.pyc | Bin 18951 -> 0 bytes .../lexers/__pycache__/resource.cpython-311.pyc | Bin 3517 -> 0 bytes .../lexers/__pycache__/ride.cpython-311.pyc | Bin 4593 -> 0 bytes .../lexers/__pycache__/rita.cpython-311.pyc | Bin 1619 -> 0 bytes .../lexers/__pycache__/rnc.cpython-311.pyc | Bin 2055 -> 0 bytes .../lexers/__pycache__/roboconf.cpython-311.pyc | Bin 2449 -> 0 bytes .../__pycache__/robotframework.cpython-311.pyc | Bin 32606 -> 0 bytes .../lexers/__pycache__/ruby.cpython-311.pyc | Bin 22906 -> 0 bytes .../lexers/__pycache__/rust.cpython-311.pyc | Bin 7123 -> 0 bytes .../lexers/__pycache__/sas.cpython-311.pyc | Bin 7189 -> 0 bytes .../lexers/__pycache__/savi.cpython-311.pyc | Bin 3902 -> 0 bytes .../lexers/__pycache__/scdoc.cpython-311.pyc | Bin 3075 -> 0 bytes .../lexers/__pycache__/scripting.cpython-311.pyc | Bin 60381 -> 0 bytes .../lexers/__pycache__/sgf.cpython-311.pyc | Bin 2238 -> 0 bytes .../lexers/__pycache__/shell.cpython-311.pyc | Bin 38703 -> 0 bytes .../lexers/__pycache__/sieve.cpython-311.pyc | Bin 2744 -> 0 bytes .../lexers/__pycache__/slash.cpython-311.pyc | Bin 8439 -> 0 bytes .../lexers/__pycache__/smalltalk.cpython-311.pyc | Bin 6763 -> 0 bytes .../lexers/__pycache__/smithy.cpython-311.pyc | Bin 3132 -> 0 bytes .../lexers/__pycache__/smv.cpython-311.pyc | Bin 2896 -> 0 bytes .../lexers/__pycache__/snobol.cpython-311.pyc | Bin 2572 -> 0 bytes .../lexers/__pycache__/solidity.cpython-311.pyc | Bin 3528 -> 0 bytes .../lexers/__pycache__/sophia.cpython-311.pyc | Bin 3712 -> 0 bytes .../lexers/__pycache__/special.cpython-311.pyc | Bin 5912 -> 0 bytes .../lexers/__pycache__/spice.cpython-311.pyc | Bin 3233 -> 0 bytes .../lexers/__pycache__/sql.cpython-311.pyc | Bin 41388 -> 0 bytes .../lexers/__pycache__/srcinfo.cpython-311.pyc | Bin 2090 -> 0 bytes .../lexers/__pycache__/stata.cpython-311.pyc | Bin 4849 -> 0 bytes .../__pycache__/supercollider.cpython-311.pyc | Bin 4064 -> 0 bytes .../lexers/__pycache__/tal.cpython-311.pyc | Bin 2923 -> 0 bytes .../lexers/__pycache__/tcl.cpython-311.pyc | Bin 5495 -> 0 bytes .../lexers/__pycache__/teal.cpython-311.pyc | Bin 3685 -> 0 bytes .../lexers/__pycache__/templates.cpython-311.pyc | Bin 90635 -> 0 bytes .../lexers/__pycache__/teraterm.cpython-311.pyc | Bin 5706 -> 0 bytes .../lexers/__pycache__/testing.cpython-311.pyc | Bin 10166 -> 0 bytes .../lexers/__pycache__/text.cpython-311.pyc | Bin 1845 -> 0 bytes .../lexers/__pycache__/textedit.cpython-311.pyc | Bin 8892 -> 0 bytes .../lexers/__pycache__/textfmts.cpython-311.pyc | Bin 16464 -> 0 bytes .../lexers/__pycache__/theorem.cpython-311.pyc | Bin 14122 -> 0 bytes .../lexers/__pycache__/thingsdb.cpython-311.pyc | Bin 4229 -> 0 bytes .../lexers/__pycache__/tlb.cpython-311.pyc | Bin 1886 -> 0 bytes .../lexers/__pycache__/tls.cpython-311.pyc | Bin 2060 -> 0 bytes .../lexers/__pycache__/tnt.cpython-311.pyc | Bin 14887 -> 0 bytes .../__pycache__/trafficscript.cpython-311.pyc | Bin 1901 -> 0 bytes .../lexers/__pycache__/typoscript.cpython-311.pyc | Bin 7389 -> 0 bytes .../lexers/__pycache__/ul4.cpython-311.pyc | Bin 8112 -> 0 bytes .../lexers/__pycache__/unicon.cpython-311.pyc | Bin 12498 -> 0 bytes .../lexers/__pycache__/urbi.cpython-311.pyc | Bin 6032 -> 0 bytes .../lexers/__pycache__/usd.cpython-311.pyc | Bin 4417 -> 0 bytes .../lexers/__pycache__/varnish.cpython-311.pyc | Bin 7130 -> 0 bytes .../__pycache__/verification.cpython-311.pyc | Bin 4072 -> 0 bytes .../lexers/__pycache__/verifpal.cpython-311.pyc | Bin 3160 -> 0 bytes .../lexers/__pycache__/vip.cpython-311.pyc | Bin 5962 -> 0 bytes .../lexers/__pycache__/vyper.cpython-311.pyc | Bin 4889 -> 0 bytes .../lexers/__pycache__/web.cpython-311.pyc | Bin 1620 -> 0 bytes .../lexers/__pycache__/webassembly.cpython-311.pyc | Bin 5693 -> 0 bytes .../lexers/__pycache__/webidl.cpython-311.pyc | Bin 8601 -> 0 bytes .../lexers/__pycache__/webmisc.cpython-311.pyc | Bin 44936 -> 0 bytes .../lexers/__pycache__/wgsl.cpython-311.pyc | Bin 11108 -> 0 bytes .../lexers/__pycache__/whiley.cpython-311.pyc | Bin 3596 -> 0 bytes .../lexers/__pycache__/wowtoc.cpython-311.pyc | Bin 3432 -> 0 bytes .../lexers/__pycache__/wren.cpython-311.pyc | Bin 3119 -> 0 bytes .../lexers/__pycache__/x10.cpython-311.pyc | Bin 2357 -> 0 bytes .../lexers/__pycache__/xorg.cpython-311.pyc | Bin 1448 -> 0 bytes .../lexers/__pycache__/yang.cpython-311.pyc | Bin 4189 -> 0 bytes .../lexers/__pycache__/yara.cpython-311.pyc | Bin 2779 -> 0 bytes .../lexers/__pycache__/zig.cpython-311.pyc | Bin 3973 -> 0 bytes .../site-packages/pygments/lexers/_ada_builtins.py | 103 - .../site-packages/pygments/lexers/_asy_builtins.py | 1644 - .../site-packages/pygments/lexers/_cl_builtins.py | 231 - .../pygments/lexers/_cocoa_builtins.py | 75 - .../pygments/lexers/_csound_builtins.py | 1780 - .../site-packages/pygments/lexers/_css_builtins.py | 558 - .../pygments/lexers/_julia_builtins.py | 411 - .../pygments/lexers/_lasso_builtins.py | 5326 -- .../pygments/lexers/_lilypond_builtins.py | 4932 -- .../site-packages/pygments/lexers/_lua_builtins.py | 285 - .../site-packages/pygments/lexers/_mapping.py | 580 - .../site-packages/pygments/lexers/_mql_builtins.py | 1171 - .../pygments/lexers/_mysql_builtins.py | 1335 - .../pygments/lexers/_openedge_builtins.py | 2600 - .../site-packages/pygments/lexers/_php_builtins.py | 3325 - .../pygments/lexers/_postgres_builtins.py | 739 - .../pygments/lexers/_qlik_builtins.py | 666 - .../pygments/lexers/_scheme_builtins.py | 1609 - .../pygments/lexers/_scilab_builtins.py | 3093 - .../pygments/lexers/_sourcemod_builtins.py | 1151 - .../pygments/lexers/_stan_builtins.py | 648 - .../pygments/lexers/_stata_builtins.py | 457 - .../pygments/lexers/_tsql_builtins.py | 1003 - .../site-packages/pygments/lexers/_usd_builtins.py | 112 - .../pygments/lexers/_vbscript_builtins.py | 279 - .../site-packages/pygments/lexers/_vim_builtins.py | 1938 - .../site-packages/pygments/lexers/actionscript.py | 245 - .../site-packages/pygments/lexers/ada.py | 144 - .../site-packages/pygments/lexers/agile.py | 23 - .../site-packages/pygments/lexers/algebra.py | 302 - .../site-packages/pygments/lexers/ambient.py | 76 - .../site-packages/pygments/lexers/amdgpu.py | 54 - .../site-packages/pygments/lexers/ampl.py | 88 - .../site-packages/pygments/lexers/apdlexer.py | 592 - .../site-packages/pygments/lexers/apl.py | 104 - .../site-packages/pygments/lexers/archetype.py | 319 - .../site-packages/pygments/lexers/arrow.py | 117 - .../site-packages/pygments/lexers/arturo.py | 250 - .../site-packages/pygments/lexers/asc.py | 55 - .../site-packages/pygments/lexers/asm.py | 1037 - .../site-packages/pygments/lexers/asn1.py | 179 - .../site-packages/pygments/lexers/automation.py | 381 - .../site-packages/pygments/lexers/bare.py | 102 - .../site-packages/pygments/lexers/basic.py | 665 - .../site-packages/pygments/lexers/bdd.py | 58 - .../site-packages/pygments/lexers/berry.py | 99 - .../site-packages/pygments/lexers/bibtex.py | 159 - .../site-packages/pygments/lexers/blueprint.py | 174 - .../site-packages/pygments/lexers/boa.py | 97 - .../site-packages/pygments/lexers/bqn.py | 110 - .../site-packages/pygments/lexers/business.py | 626 - .../site-packages/pygments/lexers/c_cpp.py | 411 - .../site-packages/pygments/lexers/c_like.py | 666 - .../site-packages/pygments/lexers/capnproto.py | 75 - .../site-packages/pygments/lexers/carbon.py | 96 - .../site-packages/pygments/lexers/cddl.py | 173 - .../site-packages/pygments/lexers/chapel.py | 140 - .../site-packages/pygments/lexers/clean.py | 179 - .../site-packages/pygments/lexers/comal.py | 80 - .../site-packages/pygments/lexers/compiled.py | 34 - .../site-packages/pygments/lexers/configs.py | 1435 - .../site-packages/pygments/lexers/console.py | 114 - .../site-packages/pygments/lexers/cplint.py | 44 - .../site-packages/pygments/lexers/crystal.py | 365 - .../site-packages/pygments/lexers/csound.py | 468 - .../site-packages/pygments/lexers/css.py | 602 - .../python3.11/site-packages/pygments/lexers/d.py | 258 - .../site-packages/pygments/lexers/dalvik.py | 127 - .../site-packages/pygments/lexers/data.py | 767 - .../site-packages/pygments/lexers/dax.py | 136 - .../site-packages/pygments/lexers/devicetree.py | 109 - .../site-packages/pygments/lexers/diff.py | 168 - .../site-packages/pygments/lexers/dns.py | 106 - .../site-packages/pygments/lexers/dotnet.py | 841 - .../site-packages/pygments/lexers/dsls.py | 982 - .../site-packages/pygments/lexers/dylan.py | 281 - .../site-packages/pygments/lexers/ecl.py | 145 - .../site-packages/pygments/lexers/eiffel.py | 69 - .../site-packages/pygments/lexers/elm.py | 124 - .../site-packages/pygments/lexers/elpi.py | 173 - .../site-packages/pygments/lexers/email.py | 132 - .../site-packages/pygments/lexers/erlang.py | 528 - .../site-packages/pygments/lexers/esoteric.py | 301 - .../site-packages/pygments/lexers/ezhil.py | 77 - .../site-packages/pygments/lexers/factor.py | 364 - .../site-packages/pygments/lexers/fantom.py | 251 - .../site-packages/pygments/lexers/felix.py | 276 - .../site-packages/pygments/lexers/fift.py | 67 - .../site-packages/pygments/lexers/floscript.py | 82 - .../site-packages/pygments/lexers/forth.py | 179 - .../site-packages/pygments/lexers/fortran.py | 213 - .../site-packages/pygments/lexers/foxpro.py | 427 - .../site-packages/pygments/lexers/freefem.py | 894 - .../site-packages/pygments/lexers/func.py | 108 - .../site-packages/pygments/lexers/functional.py | 20 - .../site-packages/pygments/lexers/futhark.py | 106 - .../site-packages/pygments/lexers/gcodelexer.py | 35 - .../site-packages/pygments/lexers/gdscript.py | 188 - .../python3.11/site-packages/pygments/lexers/go.py | 98 - .../pygments/lexers/grammar_notation.py | 265 - .../site-packages/pygments/lexers/graph.py | 109 - .../site-packages/pygments/lexers/graphics.py | 798 - .../site-packages/pygments/lexers/graphql.py | 177 - .../site-packages/pygments/lexers/graphviz.py | 59 - .../site-packages/pygments/lexers/gsql.py | 104 - .../site-packages/pygments/lexers/haskell.py | 871 - .../site-packages/pygments/lexers/haxe.py | 937 - .../site-packages/pygments/lexers/hdl.py | 465 - .../site-packages/pygments/lexers/hexdump.py | 102 - .../site-packages/pygments/lexers/html.py | 623 - .../site-packages/pygments/lexers/idl.py | 285 - .../site-packages/pygments/lexers/igor.py | 436 - .../site-packages/pygments/lexers/inferno.py | 96 - .../site-packages/pygments/lexers/installers.py | 327 - .../site-packages/pygments/lexers/int_fiction.py | 1382 - .../site-packages/pygments/lexers/iolang.py | 62 - .../python3.11/site-packages/pygments/lexers/j.py | 152 - .../site-packages/pygments/lexers/javascript.py | 1588 - .../site-packages/pygments/lexers/jmespath.py | 68 - .../site-packages/pygments/lexers/jslt.py | 95 - .../site-packages/pygments/lexers/jsonnet.py | 168 - .../site-packages/pygments/lexers/jsx.py | 76 - .../site-packages/pygments/lexers/julia.py | 294 - .../site-packages/pygments/lexers/jvm.py | 1820 - .../site-packages/pygments/lexers/kuin.py | 333 - .../site-packages/pygments/lexers/kusto.py | 94 - .../site-packages/pygments/lexers/ldap.py | 157 - .../site-packages/pygments/lexers/lean.py | 122 - .../site-packages/pygments/lexers/lilypond.py | 226 - .../site-packages/pygments/lexers/lisp.py | 2848 - .../site-packages/pygments/lexers/macaulay2.py | 1755 - .../site-packages/pygments/lexers/make.py | 211 - .../site-packages/pygments/lexers/markup.py | 1550 - .../site-packages/pygments/lexers/math.py | 20 - .../site-packages/pygments/lexers/matlab.py | 3308 - .../site-packages/pygments/lexers/maxima.py | 85 - .../site-packages/pygments/lexers/meson.py | 140 - .../site-packages/pygments/lexers/mime.py | 210 - .../site-packages/pygments/lexers/minecraft.py | 394 - .../site-packages/pygments/lexers/mips.py | 128 - .../python3.11/site-packages/pygments/lexers/ml.py | 960 - .../site-packages/pygments/lexers/modeling.py | 369 - .../site-packages/pygments/lexers/modula2.py | 1580 - .../site-packages/pygments/lexers/monte.py | 204 - .../site-packages/pygments/lexers/mosel.py | 447 - .../site-packages/pygments/lexers/ncl.py | 893 - .../site-packages/pygments/lexers/nimrod.py | 200 - .../site-packages/pygments/lexers/nit.py | 64 - .../site-packages/pygments/lexers/nix.py | 145 - .../site-packages/pygments/lexers/oberon.py | 120 - .../site-packages/pygments/lexers/objective.py | 505 - .../site-packages/pygments/lexers/ooc.py | 85 - .../site-packages/pygments/lexers/openscad.py | 97 - .../site-packages/pygments/lexers/other.py | 40 - .../site-packages/pygments/lexers/parasail.py | 79 - .../site-packages/pygments/lexers/parsers.py | 801 - .../site-packages/pygments/lexers/pascal.py | 641 - .../site-packages/pygments/lexers/pawn.py | 202 - .../site-packages/pygments/lexers/perl.py | 733 - .../site-packages/pygments/lexers/phix.py | 364 - .../site-packages/pygments/lexers/php.py | 335 - .../site-packages/pygments/lexers/pointless.py | 71 - .../site-packages/pygments/lexers/pony.py | 93 - .../site-packages/pygments/lexers/praat.py | 304 - .../site-packages/pygments/lexers/procfile.py | 42 - .../site-packages/pygments/lexers/prolog.py | 309 - .../site-packages/pygments/lexers/promql.py | 175 - .../site-packages/pygments/lexers/prql.py | 252 - .../site-packages/pygments/lexers/ptx.py | 120 - .../site-packages/pygments/lexers/python.py | 1198 - .../python3.11/site-packages/pygments/lexers/q.py | 188 - .../site-packages/pygments/lexers/qlik.py | 117 - .../site-packages/pygments/lexers/qvt.py | 151 - .../python3.11/site-packages/pygments/lexers/r.py | 190 - .../site-packages/pygments/lexers/rdf.py | 466 - .../site-packages/pygments/lexers/rebol.py | 419 - .../site-packages/pygments/lexers/resource.py | 84 - .../site-packages/pygments/lexers/ride.py | 139 - .../site-packages/pygments/lexers/rita.py | 43 - .../site-packages/pygments/lexers/rnc.py | 67 - .../site-packages/pygments/lexers/roboconf.py | 81 - .../pygments/lexers/robotframework.py | 552 - .../site-packages/pygments/lexers/ruby.py | 516 - .../site-packages/pygments/lexers/rust.py | 223 - .../site-packages/pygments/lexers/sas.py | 227 - .../site-packages/pygments/lexers/savi.py | 170 - .../site-packages/pygments/lexers/scdoc.py | 86 - .../site-packages/pygments/lexers/scripting.py | 1286 - .../site-packages/pygments/lexers/sgf.py | 60 - .../site-packages/pygments/lexers/shell.py | 920 - .../site-packages/pygments/lexers/sieve.py | 78 - .../site-packages/pygments/lexers/slash.py | 184 - .../site-packages/pygments/lexers/smalltalk.py | 196 - .../site-packages/pygments/lexers/smithy.py | 78 - .../site-packages/pygments/lexers/smv.py | 78 - .../site-packages/pygments/lexers/snobol.py | 82 - .../site-packages/pygments/lexers/solidity.py | 87 - .../site-packages/pygments/lexers/sophia.py | 103 - .../site-packages/pygments/lexers/special.py | 116 - .../site-packages/pygments/lexers/spice.py | 70 - .../site-packages/pygments/lexers/sql.py | 1027 - .../site-packages/pygments/lexers/srcinfo.py | 62 - .../site-packages/pygments/lexers/stata.py | 171 - .../site-packages/pygments/lexers/supercollider.py | 95 - .../site-packages/pygments/lexers/tal.py | 77 - .../site-packages/pygments/lexers/tcl.py | 149 - .../site-packages/pygments/lexers/teal.py | 89 - .../site-packages/pygments/lexers/templates.py | 2296 - .../site-packages/pygments/lexers/teraterm.py | 326 - .../site-packages/pygments/lexers/testing.py | 210 - .../site-packages/pygments/lexers/text.py | 26 - .../site-packages/pygments/lexers/textedit.py | 202 - .../site-packages/pygments/lexers/textfmts.py | 436 - .../site-packages/pygments/lexers/theorem.py | 391 - .../site-packages/pygments/lexers/thingsdb.py | 116 - .../site-packages/pygments/lexers/tlb.py | 57 - .../site-packages/pygments/lexers/tls.py | 55 - .../site-packages/pygments/lexers/tnt.py | 271 - .../site-packages/pygments/lexers/trafficscript.py | 51 - .../site-packages/pygments/lexers/typoscript.py | 217 - .../site-packages/pygments/lexers/ul4.py | 267 - .../site-packages/pygments/lexers/unicon.py | 411 - .../site-packages/pygments/lexers/urbi.py | 145 - .../site-packages/pygments/lexers/usd.py | 90 - .../site-packages/pygments/lexers/varnish.py | 189 - .../site-packages/pygments/lexers/verification.py | 114 - .../site-packages/pygments/lexers/verifpal.py | 66 - .../site-packages/pygments/lexers/vip.py | 152 - .../site-packages/pygments/lexers/vyper.py | 141 - .../site-packages/pygments/lexers/web.py | 23 - .../site-packages/pygments/lexers/webassembly.py | 120 - .../site-packages/pygments/lexers/webidl.py | 299 - .../site-packages/pygments/lexers/webmisc.py | 1010 - .../site-packages/pygments/lexers/wgsl.py | 407 - .../site-packages/pygments/lexers/whiley.py | 116 - .../site-packages/pygments/lexers/wowtoc.py | 120 - .../site-packages/pygments/lexers/wren.py | 99 - .../site-packages/pygments/lexers/x10.py | 67 - .../site-packages/pygments/lexers/xorg.py | 37 - .../site-packages/pygments/lexers/yang.py | 104 - .../site-packages/pygments/lexers/yara.py | 70 - .../site-packages/pygments/lexers/zig.py | 124 - .../python3.11/site-packages/pygments/modeline.py | 43 - .../python3.11/site-packages/pygments/plugin.py | 88 - .../python3.11/site-packages/pygments/regexopt.py | 91 - .../python3.11/site-packages/pygments/scanner.py | 104 - .../python3.11/site-packages/pygments/sphinxext.py | 239 - .../lib/python3.11/site-packages/pygments/style.py | 203 - .../site-packages/pygments/styles/__init__.py | 61 - .../styles/__pycache__/__init__.cpython-311.pyc | Bin 3056 -> 0 bytes .../styles/__pycache__/_mapping.cpython-311.pyc | Bin 3607 -> 0 bytes .../styles/__pycache__/abap.cpython-311.pyc | Bin 1205 -> 0 bytes .../styles/__pycache__/algol.cpython-311.pyc | Bin 2570 -> 0 bytes .../styles/__pycache__/algol_nu.cpython-311.pyc | Bin 2585 -> 0 bytes .../styles/__pycache__/arduino.cpython-311.pyc | Bin 3753 -> 0 bytes .../styles/__pycache__/autumn.cpython-311.pyc | Bin 2712 -> 0 bytes .../styles/__pycache__/borland.cpython-311.pyc | Bin 2196 -> 0 bytes .../pygments/styles/__pycache__/bw.cpython-311.pyc | Bin 1850 -> 0 bytes .../styles/__pycache__/colorful.cpython-311.pyc | Bin 3364 -> 0 bytes .../styles/__pycache__/default.cpython-311.pyc | Bin 3005 -> 0 bytes .../styles/__pycache__/dracula.cpython-311.pyc | Bin 3018 -> 0 bytes .../styles/__pycache__/emacs.cpython-311.pyc | Bin 3033 -> 0 bytes .../styles/__pycache__/friendly.cpython-311.pyc | Bin 3129 -> 0 bytes .../__pycache__/friendly_grayscale.cpython-311.pyc | Bin 3339 -> 0 bytes .../styles/__pycache__/fruity.cpython-311.pyc | Bin 1962 -> 0 bytes .../styles/__pycache__/gh_dark.cpython-311.pyc | Bin 3825 -> 0 bytes .../styles/__pycache__/gruvbox.cpython-311.pyc | Bin 4012 -> 0 bytes .../styles/__pycache__/igor.cpython-311.pyc | Bin 1198 -> 0 bytes .../styles/__pycache__/inkpot.cpython-311.pyc | Bin 2842 -> 0 bytes .../styles/__pycache__/lightbulb.cpython-311.pyc | Bin 4370 -> 0 bytes .../styles/__pycache__/lilypond.cpython-311.pyc | Bin 2767 -> 0 bytes .../styles/__pycache__/lovelace.cpython-311.pyc | Bin 3899 -> 0 bytes .../styles/__pycache__/manni.cpython-311.pyc | Bin 3264 -> 0 bytes .../styles/__pycache__/material.cpython-311.pyc | Bin 4363 -> 0 bytes .../styles/__pycache__/monokai.cpython-311.pyc | Bin 4308 -> 0 bytes .../styles/__pycache__/murphy.cpython-311.pyc | Bin 3314 -> 0 bytes .../styles/__pycache__/native.cpython-311.pyc | Bin 2827 -> 0 bytes .../styles/__pycache__/nord.cpython-311.pyc | Bin 5113 -> 0 bytes .../styles/__pycache__/onedark.cpython-311.pyc | Bin 2213 -> 0 bytes .../__pycache__/paraiso_dark.cpython-311.pyc | Bin 4643 -> 0 bytes .../__pycache__/paraiso_light.cpython-311.pyc | Bin 4649 -> 0 bytes .../styles/__pycache__/pastie.cpython-311.pyc | Bin 3175 -> 0 bytes .../styles/__pycache__/perldoc.cpython-311.pyc | Bin 2884 -> 0 bytes .../__pycache__/rainbow_dash.cpython-311.pyc | Bin 4241 -> 0 bytes .../styles/__pycache__/rrt.cpython-311.pyc | Bin 1450 -> 0 bytes .../styles/__pycache__/sas.cpython-311.pyc | Bin 1888 -> 0 bytes .../styles/__pycache__/solarized.cpython-311.pyc | Bin 5904 -> 0 bytes .../styles/__pycache__/staroffice.cpython-311.pyc | Bin 1218 -> 0 bytes .../styles/__pycache__/stata_dark.cpython-311.pyc | Bin 1763 -> 0 bytes .../styles/__pycache__/stata_light.cpython-311.pyc | Bin 1771 -> 0 bytes .../styles/__pycache__/tango.cpython-311.pyc | Bin 5639 -> 0 bytes .../styles/__pycache__/trac.cpython-311.pyc | Bin 2471 -> 0 bytes .../styles/__pycache__/vim.cpython-311.pyc | Bin 2398 -> 0 bytes .../pygments/styles/__pycache__/vs.cpython-311.pyc | Bin 1511 -> 0 bytes .../styles/__pycache__/xcode.cpython-311.pyc | Bin 1846 -> 0 bytes .../styles/__pycache__/zenburn.cpython-311.pyc | Bin 3203 -> 0 bytes .../site-packages/pygments/styles/_mapping.py | 53 - .../site-packages/pygments/styles/abap.py | 32 - .../site-packages/pygments/styles/algol.py | 65 - .../site-packages/pygments/styles/algol_nu.py | 65 - .../site-packages/pygments/styles/arduino.py | 100 - .../site-packages/pygments/styles/autumn.py | 67 - .../site-packages/pygments/styles/borland.py | 53 - .../python3.11/site-packages/pygments/styles/bw.py | 52 - .../site-packages/pygments/styles/colorful.py | 83 - .../site-packages/pygments/styles/default.py | 76 - .../site-packages/pygments/styles/dracula.py | 90 - .../site-packages/pygments/styles/emacs.py | 75 - .../site-packages/pygments/styles/friendly.py | 76 - .../pygments/styles/friendly_grayscale.py | 80 - .../site-packages/pygments/styles/fruity.py | 47 - .../site-packages/pygments/styles/gh_dark.py | 113 - .../site-packages/pygments/styles/gruvbox.py | 118 - .../site-packages/pygments/styles/igor.py | 32 - .../site-packages/pygments/styles/inkpot.py | 72 - .../site-packages/pygments/styles/lightbulb.py | 110 - .../site-packages/pygments/styles/lilypond.py | 62 - .../site-packages/pygments/styles/lovelace.py | 100 - .../site-packages/pygments/styles/manni.py | 79 - .../site-packages/pygments/styles/material.py | 124 - .../site-packages/pygments/styles/monokai.py | 112 - .../site-packages/pygments/styles/murphy.py | 82 - .../site-packages/pygments/styles/native.py | 70 - .../site-packages/pygments/styles/nord.py | 156 - .../site-packages/pygments/styles/onedark.py | 63 - .../site-packages/pygments/styles/paraiso_dark.py | 124 - .../site-packages/pygments/styles/paraiso_light.py | 124 - .../site-packages/pygments/styles/pastie.py | 78 - .../site-packages/pygments/styles/perldoc.py | 73 - .../site-packages/pygments/styles/rainbow_dash.py | 95 - .../site-packages/pygments/styles/rrt.py | 39 - .../site-packages/pygments/styles/sas.py | 46 - .../site-packages/pygments/styles/solarized.py | 144 - .../site-packages/pygments/styles/staroffice.py | 31 - .../site-packages/pygments/styles/stata_dark.py | 42 - .../site-packages/pygments/styles/stata_light.py | 42 - .../site-packages/pygments/styles/tango.py | 143 - .../site-packages/pygments/styles/trac.py | 66 - .../site-packages/pygments/styles/vim.py | 67 - .../python3.11/site-packages/pygments/styles/vs.py | 41 - .../site-packages/pygments/styles/xcode.py | 53 - .../site-packages/pygments/styles/zenburn.py | 83 - .../lib/python3.11/site-packages/pygments/token.py | 214 - .../python3.11/site-packages/pygments/unistring.py | 153 - venv/lib/python3.11/site-packages/pygments/util.py | 330 - .../INSTALLER | 1 - .../python_dateutil-2.9.0.post0.dist-info/LICENSE | 54 - .../python_dateutil-2.9.0.post0.dist-info/METADATA | 204 - .../python_dateutil-2.9.0.post0.dist-info/RECORD | 44 - .../python_dateutil-2.9.0.post0.dist-info/WHEEL | 6 - .../top_level.txt | 1 - .../python_dateutil-2.9.0.post0.dist-info/zip-safe | 1 - .../python_dotenv-1.0.1.dist-info/INSTALLER | 1 - .../python_dotenv-1.0.1.dist-info/LICENSE | 27 - .../python_dotenv-1.0.1.dist-info/METADATA | 692 - .../python_dotenv-1.0.1.dist-info/RECORD | 25 - .../python_dotenv-1.0.1.dist-info/WHEEL | 5 - .../python_dotenv-1.0.1.dist-info/entry_points.txt | 2 - .../python_dotenv-1.0.1.dist-info/top_level.txt | 1 - .../site-packages/rich-13.7.1.dist-info/INSTALLER | 1 - .../site-packages/rich-13.7.1.dist-info/LICENSE | 19 - .../site-packages/rich-13.7.1.dist-info/METADATA | 481 - .../site-packages/rich-13.7.1.dist-info/RECORD | 162 - .../site-packages/rich-13.7.1.dist-info/WHEEL | 4 - venv/lib/python3.11/site-packages/rich/__init__.py | 177 - venv/lib/python3.11/site-packages/rich/__main__.py | 273 - .../rich/__pycache__/__init__.cpython-311.pyc | Bin 7465 -> 0 bytes .../rich/__pycache__/__main__.cpython-311.pyc | Bin 11423 -> 0 bytes .../rich/__pycache__/_cell_widths.cpython-311.pyc | Bin 7879 -> 0 bytes .../rich/__pycache__/_emoji_codes.cpython-311.pyc | Bin 208515 -> 0 bytes .../__pycache__/_emoji_replace.cpython-311.pyc | Bin 1927 -> 0 bytes .../__pycache__/_export_format.cpython-311.pyc | Bin 2346 -> 0 bytes .../rich/__pycache__/_extension.cpython-311.pyc | Bin 604 -> 0 bytes .../rich/__pycache__/_fileno.cpython-311.pyc | Bin 970 -> 0 bytes .../rich/__pycache__/_inspect.cpython-311.pyc | Bin 14180 -> 0 bytes .../rich/__pycache__/_log_render.cpython-311.pyc | Bin 4750 -> 0 bytes .../rich/__pycache__/_loop.cpython-311.pyc | Bin 2108 -> 0 bytes .../rich/__pycache__/_null_file.cpython-311.pyc | Bin 4167 -> 0 bytes .../rich/__pycache__/_palettes.cpython-311.pyc | Bin 5244 -> 0 bytes .../rich/__pycache__/_pick.cpython-311.pyc | Bin 789 -> 0 bytes .../rich/__pycache__/_ratio.cpython-311.pyc | Bin 7913 -> 0 bytes .../rich/__pycache__/_spinners.cpython-311.pyc | Bin 13677 -> 0 bytes .../rich/__pycache__/_stack.cpython-311.pyc | Bin 1123 -> 0 bytes .../rich/__pycache__/_timer.cpython-311.pyc | Bin 976 -> 0 bytes .../__pycache__/_win32_console.cpython-311.pyc | Bin 30128 -> 0 bytes .../rich/__pycache__/_windows.cpython-311.pyc | Bin 2799 -> 0 bytes .../__pycache__/_windows_renderer.cpython-311.pyc | Bin 3990 -> 0 bytes .../rich/__pycache__/_wrap.cpython-311.pyc | Bin 3850 -> 0 bytes .../rich/__pycache__/abc.cpython-311.pyc | Bin 1908 -> 0 bytes .../rich/__pycache__/align.cpython-311.pyc | Bin 13414 -> 0 bytes .../rich/__pycache__/ansi.cpython-311.pyc | Bin 10493 -> 0 bytes .../rich/__pycache__/bar.cpython-311.pyc | Bin 4542 -> 0 bytes .../rich/__pycache__/box.cpython-311.pyc | Bin 12936 -> 0 bytes .../rich/__pycache__/cells.cpython-311.pyc | Bin 6635 -> 0 bytes .../rich/__pycache__/color.cpython-311.pyc | Bin 27798 -> 0 bytes .../rich/__pycache__/color_triplet.cpython-311.pyc | Bin 1868 -> 0 bytes .../rich/__pycache__/columns.cpython-311.pyc | Bin 10639 -> 0 bytes .../rich/__pycache__/console.cpython-311.pyc | Bin 123571 -> 0 bytes .../rich/__pycache__/constrain.cpython-311.pyc | Bin 2460 -> 0 bytes .../rich/__pycache__/containers.cpython-311.pyc | Bin 10806 -> 0 bytes .../rich/__pycache__/control.cpython-311.pyc | Bin 11868 -> 0 bytes .../__pycache__/default_styles.cpython-311.pyc | Bin 12559 -> 0 bytes .../rich/__pycache__/diagnose.cpython-311.pyc | Bin 1767 -> 0 bytes .../rich/__pycache__/emoji.cpython-311.pyc | Bin 4757 -> 0 bytes .../rich/__pycache__/errors.cpython-311.pyc | Bin 2324 -> 0 bytes .../rich/__pycache__/file_proxy.cpython-311.pyc | Bin 4028 -> 0 bytes .../rich/__pycache__/filesize.cpython-311.pyc | Bin 3296 -> 0 bytes .../rich/__pycache__/highlighter.cpython-311.pyc | Bin 10983 -> 0 bytes .../rich/__pycache__/json.cpython-311.pyc | Bin 6527 -> 0 bytes .../rich/__pycache__/jupyter.cpython-311.pyc | Bin 6387 -> 0 bytes .../rich/__pycache__/layout.cpython-311.pyc | Bin 23258 -> 0 bytes .../rich/__pycache__/live.cpython-311.pyc | Bin 21292 -> 0 bytes .../rich/__pycache__/live_render.cpython-311.pyc | Bin 5128 -> 0 bytes .../rich/__pycache__/logging.cpython-311.pyc | Bin 14499 -> 0 bytes .../rich/__pycache__/markdown.cpython-311.pyc | Bin 40446 -> 0 bytes .../rich/__pycache__/markup.cpython-311.pyc | Bin 10733 -> 0 bytes .../rich/__pycache__/measure.cpython-311.pyc | Bin 7266 -> 0 bytes .../rich/__pycache__/padding.cpython-311.pyc | Bin 7470 -> 0 bytes .../rich/__pycache__/pager.cpython-311.pyc | Bin 2240 -> 0 bytes .../rich/__pycache__/palette.cpython-311.pyc | Bin 5901 -> 0 bytes .../rich/__pycache__/panel.cpython-311.pyc | Bin 12826 -> 0 bytes .../rich/__pycache__/pretty.cpython-311.pyc | Bin 44463 -> 0 bytes .../rich/__pycache__/progress.cpython-311.pyc | Bin 82649 -> 0 bytes .../rich/__pycache__/progress_bar.cpython-311.pyc | Bin 11007 -> 0 bytes .../rich/__pycache__/prompt.cpython-311.pyc | Bin 16367 -> 0 bytes .../rich/__pycache__/protocol.cpython-311.pyc | Bin 2079 -> 0 bytes .../rich/__pycache__/region.cpython-311.pyc | Bin 654 -> 0 bytes .../rich/__pycache__/repr.cpython-311.pyc | Bin 7605 -> 0 bytes .../rich/__pycache__/rule.cpython-311.pyc | Bin 7148 -> 0 bytes .../rich/__pycache__/scope.cpython-311.pyc | Bin 4334 -> 0 bytes .../rich/__pycache__/screen.cpython-311.pyc | Bin 2757 -> 0 bytes .../rich/__pycache__/segment.cpython-311.pyc | Bin 31563 -> 0 bytes .../rich/__pycache__/spinner.cpython-311.pyc | Bin 6875 -> 0 bytes .../rich/__pycache__/status.cpython-311.pyc | Bin 6753 -> 0 bytes .../rich/__pycache__/style.cpython-311.pyc | Bin 35193 -> 0 bytes .../rich/__pycache__/styled.cpython-311.pyc | Bin 2410 -> 0 bytes .../rich/__pycache__/syntax.cpython-311.pyc | Bin 42906 -> 0 bytes .../rich/__pycache__/table.cpython-311.pyc | Bin 48759 -> 0 bytes .../__pycache__/terminal_theme.cpython-311.pyc | Bin 3700 -> 0 bytes .../rich/__pycache__/text.cpython-311.pyc | Bin 67116 -> 0 bytes .../rich/__pycache__/theme.cpython-311.pyc | Bin 7299 -> 0 bytes .../rich/__pycache__/themes.cpython-311.pyc | Bin 350 -> 0 bytes .../rich/__pycache__/traceback.cpython-311.pyc | Bin 34513 -> 0 bytes .../rich/__pycache__/tree.cpython-311.pyc | Bin 12461 -> 0 bytes .../python3.11/site-packages/rich/_cell_widths.py | 454 - .../python3.11/site-packages/rich/_emoji_codes.py | 3610 - .../site-packages/rich/_emoji_replace.py | 32 - .../site-packages/rich/_export_format.py | 76 - .../python3.11/site-packages/rich/_extension.py | 10 - venv/lib/python3.11/site-packages/rich/_fileno.py | 24 - venv/lib/python3.11/site-packages/rich/_inspect.py | 270 - .../python3.11/site-packages/rich/_log_render.py | 94 - venv/lib/python3.11/site-packages/rich/_loop.py | 43 - .../python3.11/site-packages/rich/_null_file.py | 69 - .../lib/python3.11/site-packages/rich/_palettes.py | 309 - venv/lib/python3.11/site-packages/rich/_pick.py | 17 - venv/lib/python3.11/site-packages/rich/_ratio.py | 159 - .../lib/python3.11/site-packages/rich/_spinners.py | 482 - venv/lib/python3.11/site-packages/rich/_stack.py | 16 - venv/lib/python3.11/site-packages/rich/_timer.py | 19 - .../site-packages/rich/_win32_console.py | 662 - venv/lib/python3.11/site-packages/rich/_windows.py | 71 - .../site-packages/rich/_windows_renderer.py | 56 - venv/lib/python3.11/site-packages/rich/_wrap.py | 93 - venv/lib/python3.11/site-packages/rich/abc.py | 33 - venv/lib/python3.11/site-packages/rich/align.py | 311 - venv/lib/python3.11/site-packages/rich/ansi.py | 240 - venv/lib/python3.11/site-packages/rich/bar.py | 93 - venv/lib/python3.11/site-packages/rich/box.py | 480 - venv/lib/python3.11/site-packages/rich/cells.py | 167 - venv/lib/python3.11/site-packages/rich/color.py | 621 - .../python3.11/site-packages/rich/color_triplet.py | 38 - venv/lib/python3.11/site-packages/rich/columns.py | 187 - venv/lib/python3.11/site-packages/rich/console.py | 2633 - .../lib/python3.11/site-packages/rich/constrain.py | 37 - .../python3.11/site-packages/rich/containers.py | 167 - venv/lib/python3.11/site-packages/rich/control.py | 225 - .../site-packages/rich/default_styles.py | 190 - venv/lib/python3.11/site-packages/rich/diagnose.py | 37 - venv/lib/python3.11/site-packages/rich/emoji.py | 96 - venv/lib/python3.11/site-packages/rich/errors.py | 34 - .../python3.11/site-packages/rich/file_proxy.py | 57 - venv/lib/python3.11/site-packages/rich/filesize.py | 89 - .../python3.11/site-packages/rich/highlighter.py | 232 - venv/lib/python3.11/site-packages/rich/json.py | 139 - venv/lib/python3.11/site-packages/rich/jupyter.py | 101 - venv/lib/python3.11/site-packages/rich/layout.py | 442 - venv/lib/python3.11/site-packages/rich/live.py | 375 - .../python3.11/site-packages/rich/live_render.py | 112 - venv/lib/python3.11/site-packages/rich/logging.py | 289 - venv/lib/python3.11/site-packages/rich/markdown.py | 800 - venv/lib/python3.11/site-packages/rich/markup.py | 251 - venv/lib/python3.11/site-packages/rich/measure.py | 151 - venv/lib/python3.11/site-packages/rich/padding.py | 141 - venv/lib/python3.11/site-packages/rich/pager.py | 34 - venv/lib/python3.11/site-packages/rich/palette.py | 100 - venv/lib/python3.11/site-packages/rich/panel.py | 312 - venv/lib/python3.11/site-packages/rich/pretty.py | 995 - venv/lib/python3.11/site-packages/rich/progress.py | 1699 - .../python3.11/site-packages/rich/progress_bar.py | 223 - venv/lib/python3.11/site-packages/rich/prompt.py | 375 - venv/lib/python3.11/site-packages/rich/protocol.py | 42 - venv/lib/python3.11/site-packages/rich/py.typed | 0 venv/lib/python3.11/site-packages/rich/region.py | 10 - venv/lib/python3.11/site-packages/rich/repr.py | 149 - venv/lib/python3.11/site-packages/rich/rule.py | 130 - venv/lib/python3.11/site-packages/rich/scope.py | 86 - venv/lib/python3.11/site-packages/rich/screen.py | 54 - venv/lib/python3.11/site-packages/rich/segment.py | 738 - venv/lib/python3.11/site-packages/rich/spinner.py | 137 - venv/lib/python3.11/site-packages/rich/status.py | 131 - venv/lib/python3.11/site-packages/rich/style.py | 796 - venv/lib/python3.11/site-packages/rich/styled.py | 42 - venv/lib/python3.11/site-packages/rich/syntax.py | 958 - venv/lib/python3.11/site-packages/rich/table.py | 1000 - .../site-packages/rich/terminal_theme.py | 153 - venv/lib/python3.11/site-packages/rich/text.py | 1357 - venv/lib/python3.11/site-packages/rich/theme.py | 115 - venv/lib/python3.11/site-packages/rich/themes.py | 5 - .../lib/python3.11/site-packages/rich/traceback.py | 753 - venv/lib/python3.11/site-packages/rich/tree.py | 249 - .../rich_click-1.7.4.dist-info/INSTALLER | 1 - .../rich_click-1.7.4.dist-info/LICENSE | 21 - .../rich_click-1.7.4.dist-info/METADATA | 633 - .../rich_click-1.7.4.dist-info/RECORD | 33 - .../site-packages/rich_click-1.7.4.dist-info/WHEEL | 5 - .../rich_click-1.7.4.dist-info/entry_points.txt | 2 - .../rich_click-1.7.4.dist-info/top_level.txt | 1 - .../site-packages/rich_click/__init__.py | 104 - .../site-packages/rich_click/__main__.py | 13 - .../__pycache__/__init__.cpython-311.pyc | Bin 4818 -> 0 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 634 -> 0 bytes .../__pycache__/_compat_click.cpython-311.pyc | Bin 1158 -> 0 bytes .../rich_click/__pycache__/cli.cpython-311.pyc | Bin 7733 -> 0 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 8388 -> 0 bytes .../__pycache__/rich_click.cpython-311.pyc | Bin 41798 -> 0 bytes .../__pycache__/rich_command.cpython-311.pyc | Bin 14621 -> 0 bytes .../__pycache__/rich_context.cpython-311.pyc | Bin 2455 -> 0 bytes .../__pycache__/rich_group.cpython-311.pyc | Bin 507 -> 0 bytes .../rich_help_configuration.cpython-311.pyc | Bin 12977 -> 0 bytes .../rich_help_formatter.cpython-311.pyc | Bin 4800 -> 0 bytes .../rich_click/__pycache__/utils.cpython-311.pyc | Bin 832 -> 0 bytes .../site-packages/rich_click/_compat_click.py | 25 - .../lib/python3.11/site-packages/rich_click/cli.py | 154 - .../site-packages/rich_click/decorators.py | 216 - .../python3.11/site-packages/rich_click/py.typed | 1 - .../site-packages/rich_click/rich_click.py | 893 - .../site-packages/rich_click/rich_command.py | 257 - .../site-packages/rich_click/rich_context.py | 47 - .../site-packages/rich_click/rich_group.py | 11 - .../rich_click/rich_help_configuration.py | 148 - .../rich_click/rich_help_formatter.py | 103 - .../python3.11/site-packages/rich_click/utils.py | 16 - .../setuptools-65.5.0.dist-info/INSTALLER | 1 - .../setuptools-65.5.0.dist-info/LICENSE | 19 - .../setuptools-65.5.0.dist-info/METADATA | 144 - .../setuptools-65.5.0.dist-info/RECORD | 466 - .../setuptools-65.5.0.dist-info/REQUESTED | 0 .../setuptools-65.5.0.dist-info/WHEEL | 5 - .../setuptools-65.5.0.dist-info/entry_points.txt | 57 - .../setuptools-65.5.0.dist-info/top_level.txt | 3 - .../site-packages/setuptools/__init__.py | 247 - .../__pycache__/__init__.cpython-311.pyc | Bin 12914 -> 0 bytes .../_deprecation_warning.cpython-311.pyc | Bin 649 -> 0 bytes .../__pycache__/_entry_points.cpython-311.pyc | Bin 4798 -> 0 bytes .../setuptools/__pycache__/_imp.cpython-311.pyc | Bin 3662 -> 0 bytes .../__pycache__/_importlib.cpython-311.pyc | Bin 1962 -> 0 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 1161 -> 0 bytes .../setuptools/__pycache__/_path.cpython-311.pyc | Bin 1482 -> 0 bytes .../setuptools/__pycache__/_reqs.cpython-311.pyc | Bin 1143 -> 0 bytes .../__pycache__/archive_util.cpython-311.pyc | Bin 10171 -> 0 bytes .../__pycache__/build_meta.cpython-311.pyc | Bin 28104 -> 0 bytes .../__pycache__/dep_util.cpython-311.pyc | Bin 1297 -> 0 bytes .../setuptools/__pycache__/depends.cpython-311.pyc | Bin 7982 -> 0 bytes .../__pycache__/discovery.cpython-311.pyc | Bin 31126 -> 0 bytes .../setuptools/__pycache__/dist.cpython-311.pyc | Bin 64064 -> 0 bytes .../setuptools/__pycache__/errors.cpython-311.pyc | Bin 2958 -> 0 bytes .../__pycache__/extension.cpython-311.pyc | Bin 6814 -> 0 bytes .../setuptools/__pycache__/glob.cpython-311.pyc | Bin 6571 -> 0 bytes .../__pycache__/installer.cpython-311.pyc | Bin 5621 -> 0 bytes .../setuptools/__pycache__/launch.cpython-311.pyc | Bin 1537 -> 0 bytes .../setuptools/__pycache__/logging.cpython-311.pyc | Bin 2055 -> 0 bytes .../setuptools/__pycache__/monkey.cpython-311.pyc | Bin 7014 -> 0 bytes .../setuptools/__pycache__/msvc.cpython-311.pyc | Bin 64187 -> 0 bytes .../__pycache__/namespaces.cpython-311.pyc | Bin 5669 -> 0 bytes .../__pycache__/package_index.cpython-311.pyc | Bin 60764 -> 0 bytes .../__pycache__/py34compat.cpython-311.pyc | Bin 724 -> 0 bytes .../setuptools/__pycache__/sandbox.cpython-311.pyc | Bin 27340 -> 0 bytes .../__pycache__/unicode_utils.cpython-311.pyc | Bin 1826 -> 0 bytes .../setuptools/__pycache__/version.cpython-311.pyc | Bin 444 -> 0 bytes .../setuptools/__pycache__/wheel.cpython-311.pyc | Bin 15500 -> 0 bytes .../__pycache__/windows_support.cpython-311.pyc | Bin 1441 -> 0 bytes .../setuptools/_deprecation_warning.py | 7 - .../setuptools/_distutils/__init__.py | 24 - .../__pycache__/__init__.cpython-311.pyc | Bin 779 -> 0 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 2929 -> 0 bytes .../__pycache__/_functools.cpython-311.pyc | Bin 870 -> 0 bytes .../__pycache__/_macos_compat.cpython-311.pyc | Bin 579 -> 0 bytes .../__pycache__/_msvccompiler.cpython-311.pyc | Bin 25114 -> 0 bytes .../__pycache__/archive_util.cpython-311.pyc | Bin 10666 -> 0 bytes .../__pycache__/bcppcompiler.cpython-311.pyc | Bin 13492 -> 0 bytes .../__pycache__/ccompiler.cpython-311.pyc | Bin 46391 -> 0 bytes .../_distutils/__pycache__/cmd.cpython-311.pyc | Bin 18905 -> 0 bytes .../_distutils/__pycache__/config.cpython-311.pyc | Bin 6054 -> 0 bytes .../_distutils/__pycache__/core.cpython-311.pyc | Bin 9998 -> 0 bytes .../__pycache__/cygwinccompiler.cpython-311.pyc | Bin 13622 -> 0 bytes .../_distutils/__pycache__/debug.cpython-311.pyc | Bin 331 -> 0 bytes .../__pycache__/dep_util.cpython-311.pyc | Bin 3998 -> 0 bytes .../__pycache__/dir_util.cpython-311.pyc | Bin 10373 -> 0 bytes .../_distutils/__pycache__/dist.cpython-311.pyc | Bin 55420 -> 0 bytes .../_distutils/__pycache__/errors.cpython-311.pyc | Bin 6804 -> 0 bytes .../__pycache__/extension.cpython-311.pyc | Bin 10185 -> 0 bytes .../__pycache__/fancy_getopt.cpython-311.pyc | Bin 17249 -> 0 bytes .../__pycache__/file_util.cpython-311.pyc | Bin 10693 -> 0 bytes .../__pycache__/filelist.cpython-311.pyc | Bin 17639 -> 0 bytes .../_distutils/__pycache__/log.cpython-311.pyc | Bin 3939 -> 0 bytes .../__pycache__/msvc9compiler.cpython-311.pyc | Bin 33597 -> 0 bytes .../__pycache__/msvccompiler.cpython-311.pyc | Bin 26999 -> 0 bytes .../__pycache__/py38compat.cpython-311.pyc | Bin 631 -> 0 bytes .../__pycache__/py39compat.cpython-311.pyc | Bin 999 -> 0 bytes .../_distutils/__pycache__/spawn.cpython-311.pyc | Bin 4468 -> 0 bytes .../__pycache__/sysconfig.cpython-311.pyc | Bin 21995 -> 0 bytes .../__pycache__/text_file.cpython-311.pyc | Bin 11280 -> 0 bytes .../__pycache__/unixccompiler.cpython-311.pyc | Bin 16536 -> 0 bytes .../_distutils/__pycache__/util.cpython-311.pyc | Bin 20890 -> 0 bytes .../_distutils/__pycache__/version.cpython-311.pyc | Bin 11356 -> 0 bytes .../__pycache__/versionpredicate.cpython-311.pyc | Bin 7756 -> 0 bytes .../setuptools/_distutils/_collections.py | 56 - .../setuptools/_distutils/_functools.py | 20 - .../setuptools/_distutils/_macos_compat.py | 12 - .../setuptools/_distutils/_msvccompiler.py | 572 - .../setuptools/_distutils/archive_util.py | 280 - .../setuptools/_distutils/bcppcompiler.py | 408 - .../setuptools/_distutils/ccompiler.py | 1220 - .../site-packages/setuptools/_distutils/cmd.py | 436 - .../setuptools/_distutils/command/__init__.py | 25 - .../command/__pycache__/__init__.cpython-311.pyc | Bin 551 -> 0 bytes .../__pycache__/_framework_compat.cpython-311.pyc | Bin 2792 -> 0 bytes .../command/__pycache__/bdist.cpython-311.pyc | Bin 6045 -> 0 bytes .../command/__pycache__/bdist_dumb.cpython-311.pyc | Bin 5770 -> 0 bytes .../command/__pycache__/bdist_rpm.cpython-311.pyc | Bin 23304 -> 0 bytes .../command/__pycache__/build.cpython-311.pyc | Bin 6100 -> 0 bytes .../command/__pycache__/build_clib.cpython-311.pyc | Bin 7803 -> 0 bytes .../command/__pycache__/build_ext.cpython-311.pyc | Bin 30345 -> 0 bytes .../command/__pycache__/build_py.cpython-311.pyc | Bin 17621 -> 0 bytes .../__pycache__/build_scripts.cpython-311.pyc | Bin 7872 -> 0 bytes .../command/__pycache__/check.cpython-311.pyc | Bin 7534 -> 0 bytes .../command/__pycache__/clean.cpython-311.pyc | Bin 3202 -> 0 bytes .../command/__pycache__/config.cpython-311.pyc | Bin 16265 -> 0 bytes .../command/__pycache__/install.cpython-311.pyc | Bin 29453 -> 0 bytes .../__pycache__/install_data.cpython-311.pyc | Bin 3787 -> 0 bytes .../__pycache__/install_egg_info.cpython-311.pyc | Bin 5213 -> 0 bytes .../__pycache__/install_headers.cpython-311.pyc | Bin 2370 -> 0 bytes .../__pycache__/install_lib.cpython-311.pyc | Bin 8702 -> 0 bytes .../__pycache__/install_scripts.cpython-311.pyc | Bin 3167 -> 0 bytes .../command/__pycache__/py37compat.cpython-311.pyc | Bin 1548 -> 0 bytes .../command/__pycache__/register.cpython-311.pyc | Bin 15534 -> 0 bytes .../command/__pycache__/sdist.cpython-311.pyc | Bin 23842 -> 0 bytes .../command/__pycache__/upload.cpython-311.pyc | Bin 10483 -> 0 bytes .../_distutils/command/_framework_compat.py | 55 - .../setuptools/_distutils/command/bdist.py | 157 - .../setuptools/_distutils/command/bdist_dumb.py | 144 - .../setuptools/_distutils/command/bdist_rpm.py | 615 - .../setuptools/_distutils/command/build.py | 153 - .../setuptools/_distutils/command/build_clib.py | 208 - .../setuptools/_distutils/command/build_ext.py | 787 - .../setuptools/_distutils/command/build_py.py | 407 - .../setuptools/_distutils/command/build_scripts.py | 173 - .../setuptools/_distutils/command/check.py | 151 - .../setuptools/_distutils/command/clean.py | 76 - .../setuptools/_distutils/command/config.py | 377 - .../setuptools/_distutils/command/install.py | 814 - .../setuptools/_distutils/command/install_data.py | 84 - .../_distutils/command/install_egg_info.py | 91 - .../_distutils/command/install_headers.py | 45 - .../setuptools/_distutils/command/install_lib.py | 238 - .../_distutils/command/install_scripts.py | 61 - .../setuptools/_distutils/command/py37compat.py | 31 - .../setuptools/_distutils/command/register.py | 319 - .../setuptools/_distutils/command/sdist.py | 531 - .../setuptools/_distutils/command/upload.py | 205 - .../site-packages/setuptools/_distutils/config.py | 139 - .../site-packages/setuptools/_distutils/core.py | 291 - .../setuptools/_distutils/cygwinccompiler.py | 364 - .../site-packages/setuptools/_distutils/debug.py | 5 - .../setuptools/_distutils/dep_util.py | 96 - .../setuptools/_distutils/dir_util.py | 243 - .../site-packages/setuptools/_distutils/dist.py | 1286 - .../site-packages/setuptools/_distutils/errors.py | 127 - .../setuptools/_distutils/extension.py | 248 - .../setuptools/_distutils/fancy_getopt.py | 470 - .../setuptools/_distutils/file_util.py | 249 - .../setuptools/_distutils/filelist.py | 371 - .../site-packages/setuptools/_distutils/log.py | 80 - .../setuptools/_distutils/msvc9compiler.py | 832 - .../setuptools/_distutils/msvccompiler.py | 695 - .../setuptools/_distutils/py38compat.py | 8 - .../setuptools/_distutils/py39compat.py | 22 - .../site-packages/setuptools/_distutils/spawn.py | 109 - .../setuptools/_distutils/sysconfig.py | 558 - .../setuptools/_distutils/text_file.py | 287 - .../setuptools/_distutils/unixccompiler.py | 401 - .../site-packages/setuptools/_distutils/util.py | 513 - .../site-packages/setuptools/_distutils/version.py | 358 - .../setuptools/_distutils/versionpredicate.py | 175 - .../site-packages/setuptools/_entry_points.py | 86 - .../python3.11/site-packages/setuptools/_imp.py | 82 - .../site-packages/setuptools/_importlib.py | 47 - .../site-packages/setuptools/_itertools.py | 23 - .../python3.11/site-packages/setuptools/_path.py | 29 - .../python3.11/site-packages/setuptools/_reqs.py | 19 - .../site-packages/setuptools/_vendor/__init__.py | 0 .../_vendor/__pycache__/__init__.cpython-311.pyc | Bin 202 -> 0 bytes .../__pycache__/ordered_set.cpython-311.pyc | Bin 21788 -> 0 bytes .../__pycache__/typing_extensions.cpython-311.pyc | Bin 107619 -> 0 bytes .../_vendor/__pycache__/zipp.cpython-311.pyc | Bin 15995 -> 0 bytes .../_vendor/importlib_metadata/__init__.py | 1047 - .../__pycache__/__init__.cpython-311.pyc | Bin 58241 -> 0 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 3854 -> 0 bytes .../__pycache__/_collections.cpython-311.pyc | Bin 2201 -> 0 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 2723 -> 0 bytes .../__pycache__/_functools.cpython-311.pyc | Bin 3641 -> 0 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 2604 -> 0 bytes .../__pycache__/_meta.cpython-311.pyc | Bin 3008 -> 0 bytes .../__pycache__/_text.cpython-311.pyc | Bin 4399 -> 0 bytes .../_vendor/importlib_metadata/_adapters.py | 68 - .../_vendor/importlib_metadata/_collections.py | 30 - .../_vendor/importlib_metadata/_compat.py | 71 - .../_vendor/importlib_metadata/_functools.py | 104 - .../_vendor/importlib_metadata/_itertools.py | 73 - .../setuptools/_vendor/importlib_metadata/_meta.py | 48 - .../setuptools/_vendor/importlib_metadata/_text.py | 99 - .../_vendor/importlib_resources/__init__.py | 36 - .../__pycache__/__init__.cpython-311.pyc | Bin 836 -> 0 bytes .../__pycache__/_adapters.cpython-311.pyc | Bin 10753 -> 0 bytes .../__pycache__/_common.cpython-311.pyc | Bin 4280 -> 0 bytes .../__pycache__/_compat.cpython-311.pyc | Bin 5565 -> 0 bytes .../__pycache__/_itertools.cpython-311.pyc | Bin 1398 -> 0 bytes .../__pycache__/_legacy.cpython-311.pyc | Bin 6496 -> 0 bytes .../__pycache__/abc.cpython-311.pyc | Bin 7497 -> 0 bytes .../__pycache__/readers.cpython-311.pyc | Bin 8371 -> 0 bytes .../__pycache__/simple.cpython-311.pyc | Bin 6393 -> 0 bytes .../_vendor/importlib_resources/_adapters.py | 170 - .../_vendor/importlib_resources/_common.py | 104 - .../_vendor/importlib_resources/_compat.py | 98 - .../_vendor/importlib_resources/_itertools.py | 35 - .../_vendor/importlib_resources/_legacy.py | 121 - .../setuptools/_vendor/importlib_resources/abc.py | 137 - .../_vendor/importlib_resources/readers.py | 122 - .../_vendor/importlib_resources/simple.py | 116 - .../setuptools/_vendor/jaraco/__init__.py | 0 .../jaraco/__pycache__/__init__.cpython-311.pyc | Bin 209 -> 0 bytes .../jaraco/__pycache__/context.cpython-311.pyc | Bin 9432 -> 0 bytes .../jaraco/__pycache__/functools.cpython-311.pyc | Bin 20289 -> 0 bytes .../setuptools/_vendor/jaraco/context.py | 213 - .../setuptools/_vendor/jaraco/functools.py | 525 - .../setuptools/_vendor/jaraco/text/__init__.py | 599 - .../text/__pycache__/__init__.cpython-311.pyc | Bin 26603 -> 0 bytes .../setuptools/_vendor/more_itertools/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 302 -> 0 bytes .../__pycache__/more.cpython-311.pyc | Bin 149189 -> 0 bytes .../__pycache__/recipes.cpython-311.pyc | Bin 23771 -> 0 bytes .../setuptools/_vendor/more_itertools/more.py | 3824 -- .../setuptools/_vendor/more_itertools/recipes.py | 620 - .../setuptools/_vendor/ordered_set.py | 488 - .../setuptools/_vendor/packaging/__about__.py | 26 - .../setuptools/_vendor/packaging/__init__.py | 25 - .../__pycache__/__about__.cpython-311.pyc | Bin 653 -> 0 bytes .../packaging/__pycache__/__init__.cpython-311.pyc | Bin 574 -> 0 bytes .../__pycache__/_manylinux.cpython-311.pyc | Bin 13240 -> 0 bytes .../__pycache__/_musllinux.cpython-311.pyc | Bin 8008 -> 0 bytes .../__pycache__/_structures.cpython-311.pyc | Bin 3696 -> 0 bytes .../packaging/__pycache__/markers.cpython-311.pyc | Bin 16542 -> 0 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 7657 -> 0 bytes .../__pycache__/specifiers.cpython-311.pyc | Bin 34374 -> 0 bytes .../packaging/__pycache__/tags.cpython-311.pyc | Bin 21359 -> 0 bytes .../packaging/__pycache__/utils.cpython-311.pyc | Bin 6694 -> 0 bytes .../packaging/__pycache__/version.cpython-311.pyc | Bin 21886 -> 0 bytes .../setuptools/_vendor/packaging/_manylinux.py | 301 - .../setuptools/_vendor/packaging/_musllinux.py | 136 - .../setuptools/_vendor/packaging/_structures.py | 61 - .../setuptools/_vendor/packaging/markers.py | 304 - .../setuptools/_vendor/packaging/requirements.py | 146 - .../setuptools/_vendor/packaging/specifiers.py | 802 - .../setuptools/_vendor/packaging/tags.py | 487 - .../setuptools/_vendor/packaging/utils.py | 136 - .../setuptools/_vendor/packaging/version.py | 504 - .../setuptools/_vendor/pyparsing/__init__.py | 331 - .../pyparsing/__pycache__/__init__.cpython-311.pyc | Bin 8347 -> 0 bytes .../pyparsing/__pycache__/actions.cpython-311.pyc | Bin 8473 -> 0 bytes .../pyparsing/__pycache__/common.cpython-311.pyc | Bin 14795 -> 0 bytes .../pyparsing/__pycache__/core.cpython-311.pyc | Bin 277647 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 12937 -> 0 bytes .../pyparsing/__pycache__/helpers.cpython-311.pyc | Bin 53638 -> 0 bytes .../pyparsing/__pycache__/results.cpython-311.pyc | Bin 36321 -> 0 bytes .../pyparsing/__pycache__/testing.cpython-311.pyc | Bin 19517 -> 0 bytes .../pyparsing/__pycache__/unicode.cpython-311.pyc | Bin 15375 -> 0 bytes .../pyparsing/__pycache__/util.cpython-311.pyc | Bin 14274 -> 0 bytes .../setuptools/_vendor/pyparsing/actions.py | 207 - .../setuptools/_vendor/pyparsing/common.py | 424 - .../setuptools/_vendor/pyparsing/core.py | 5814 -- .../_vendor/pyparsing/diagram/__init__.py | 642 - .../diagram/__pycache__/__init__.cpython-311.pyc | Bin 28010 -> 0 bytes .../setuptools/_vendor/pyparsing/exceptions.py | 267 - .../setuptools/_vendor/pyparsing/helpers.py | 1088 - .../setuptools/_vendor/pyparsing/results.py | 760 - .../setuptools/_vendor/pyparsing/testing.py | 331 - .../setuptools/_vendor/pyparsing/unicode.py | 352 - .../setuptools/_vendor/pyparsing/util.py | 235 - .../setuptools/_vendor/tomli/__init__.py | 11 - .../tomli/__pycache__/__init__.cpython-311.pyc | Bin 424 -> 0 bytes .../tomli/__pycache__/_parser.cpython-311.pyc | Bin 30863 -> 0 bytes .../_vendor/tomli/__pycache__/_re.cpython-311.pyc | Bin 4503 -> 0 bytes .../tomli/__pycache__/_types.cpython-311.pyc | Bin 416 -> 0 bytes .../setuptools/_vendor/tomli/_parser.py | 691 - .../site-packages/setuptools/_vendor/tomli/_re.py | 107 - .../setuptools/_vendor/tomli/_types.py | 10 - .../setuptools/_vendor/typing_extensions.py | 2296 - .../site-packages/setuptools/_vendor/zipp.py | 329 - .../site-packages/setuptools/archive_util.py | 213 - .../site-packages/setuptools/build_meta.py | 511 - .../python3.11/site-packages/setuptools/cli-32.exe | Bin 65536 -> 0 bytes .../python3.11/site-packages/setuptools/cli-64.exe | Bin 74752 -> 0 bytes .../site-packages/setuptools/cli-arm64.exe | Bin 137216 -> 0 bytes .../python3.11/site-packages/setuptools/cli.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/command/__init__.py | 12 - .../command/__pycache__/__init__.cpython-311.pyc | Bin 643 -> 0 bytes .../command/__pycache__/alias.cpython-311.pyc | Bin 3910 -> 0 bytes .../command/__pycache__/bdist_egg.cpython-311.pyc | Bin 25592 -> 0 bytes .../command/__pycache__/bdist_rpm.cpython-311.pyc | Bin 2198 -> 0 bytes .../command/__pycache__/build.cpython-311.pyc | Bin 7004 -> 0 bytes .../command/__pycache__/build_clib.cpython-311.pyc | Bin 4131 -> 0 bytes .../command/__pycache__/build_ext.cpython-311.pyc | Bin 22018 -> 0 bytes .../command/__pycache__/build_py.cpython-311.pyc | Bin 23184 -> 0 bytes .../command/__pycache__/develop.cpython-311.pyc | Bin 10926 -> 0 bytes .../command/__pycache__/dist_info.cpython-311.pyc | Bin 7988 -> 0 bytes .../__pycache__/easy_install.cpython-311.pyc | Bin 119343 -> 0 bytes .../__pycache__/editable_wheel.cpython-311.pyc | Bin 51421 -> 0 bytes .../command/__pycache__/egg_info.cpython-311.pyc | Bin 39841 -> 0 bytes .../command/__pycache__/install.cpython-311.pyc | Bin 6823 -> 0 bytes .../__pycache__/install_egg_info.cpython-311.pyc | Bin 4136 -> 0 bytes .../__pycache__/install_lib.cpython-311.pyc | Bin 6418 -> 0 bytes .../__pycache__/install_scripts.cpython-311.pyc | Bin 4287 -> 0 bytes .../command/__pycache__/py36compat.cpython-311.pyc | Bin 8044 -> 0 bytes .../command/__pycache__/register.cpython-311.pyc | Bin 1134 -> 0 bytes .../command/__pycache__/rotate.cpython-311.pyc | Bin 4194 -> 0 bytes .../command/__pycache__/saveopts.cpython-311.pyc | Bin 1374 -> 0 bytes .../command/__pycache__/sdist.cpython-311.pyc | Bin 13446 -> 0 bytes .../command/__pycache__/setopt.cpython-311.pyc | Bin 7686 -> 0 bytes .../command/__pycache__/test.cpython-311.pyc | Bin 14627 -> 0 bytes .../command/__pycache__/upload.cpython-311.pyc | Bin 1098 -> 0 bytes .../__pycache__/upload_docs.cpython-311.pyc | Bin 11949 -> 0 bytes .../site-packages/setuptools/command/alias.py | 78 - .../site-packages/setuptools/command/bdist_egg.py | 457 - .../site-packages/setuptools/command/bdist_rpm.py | 40 - .../site-packages/setuptools/command/build.py | 146 - .../site-packages/setuptools/command/build_clib.py | 101 - .../site-packages/setuptools/command/build_ext.py | 383 - .../site-packages/setuptools/command/build_py.py | 368 - .../site-packages/setuptools/command/develop.py | 193 - .../site-packages/setuptools/command/dist_info.py | 142 - .../setuptools/command/easy_install.py | 2312 - .../setuptools/command/editable_wheel.py | 844 - .../site-packages/setuptools/command/egg_info.py | 763 - .../site-packages/setuptools/command/install.py | 139 - .../setuptools/command/install_egg_info.py | 63 - .../setuptools/command/install_lib.py | 122 - .../setuptools/command/install_scripts.py | 70 - .../setuptools/command/launcher manifest.xml | 15 - .../site-packages/setuptools/command/py36compat.py | 134 - .../site-packages/setuptools/command/register.py | 18 - .../site-packages/setuptools/command/rotate.py | 64 - .../site-packages/setuptools/command/saveopts.py | 22 - .../site-packages/setuptools/command/sdist.py | 210 - .../site-packages/setuptools/command/setopt.py | 149 - .../site-packages/setuptools/command/test.py | 251 - .../site-packages/setuptools/command/upload.py | 17 - .../setuptools/command/upload_docs.py | 213 - .../site-packages/setuptools/config/__init__.py | 35 - .../config/__pycache__/__init__.cpython-311.pyc | Bin 2038 -> 0 bytes .../_apply_pyprojecttoml.cpython-311.pyc | Bin 22541 -> 0 bytes .../config/__pycache__/expand.cpython-311.pyc | Bin 28252 -> 0 bytes .../__pycache__/pyprojecttoml.cpython-311.pyc | Bin 27450 -> 0 bytes .../config/__pycache__/setupcfg.cpython-311.pyc | Bin 33034 -> 0 bytes .../setuptools/config/_apply_pyprojecttoml.py | 377 - .../config/_validate_pyproject/__init__.py | 34 - .../__pycache__/__init__.cpython-311.pyc | Bin 2326 -> 0 bytes .../__pycache__/error_reporting.cpython-311.pyc | Bin 20217 -> 0 bytes .../__pycache__/extra_validations.cpython-311.pyc | Bin 1875 -> 0 bytes .../fastjsonschema_exceptions.cpython-311.pyc | Bin 3250 -> 0 bytes .../fastjsonschema_validations.cpython-311.pyc | Bin 192648 -> 0 bytes .../__pycache__/formats.cpython-311.pyc | Bin 14365 -> 0 bytes .../config/_validate_pyproject/error_reporting.py | 318 - .../_validate_pyproject/extra_validations.py | 36 - .../fastjsonschema_exceptions.py | 51 - .../fastjsonschema_validations.py | 1035 - .../config/_validate_pyproject/formats.py | 259 - .../site-packages/setuptools/config/expand.py | 462 - .../setuptools/config/pyprojecttoml.py | 493 - .../site-packages/setuptools/config/setupcfg.py | 762 - .../site-packages/setuptools/dep_util.py | 25 - .../python3.11/site-packages/setuptools/depends.py | 176 - .../site-packages/setuptools/discovery.py | 600 - .../python3.11/site-packages/setuptools/dist.py | 1222 - .../python3.11/site-packages/setuptools/errors.py | 58 - .../site-packages/setuptools/extension.py | 148 - .../site-packages/setuptools/extern/__init__.py | 76 - .../extern/__pycache__/__init__.cpython-311.pyc | Bin 4402 -> 0 bytes .../python3.11/site-packages/setuptools/glob.py | 167 - .../python3.11/site-packages/setuptools/gui-32.exe | Bin 65536 -> 0 bytes .../python3.11/site-packages/setuptools/gui-64.exe | Bin 75264 -> 0 bytes .../site-packages/setuptools/gui-arm64.exe | Bin 137728 -> 0 bytes .../python3.11/site-packages/setuptools/gui.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/installer.py | 104 - .../python3.11/site-packages/setuptools/launch.py | 36 - .../python3.11/site-packages/setuptools/logging.py | 36 - .../python3.11/site-packages/setuptools/monkey.py | 165 - .../python3.11/site-packages/setuptools/msvc.py | 1703 - .../site-packages/setuptools/namespaces.py | 107 - .../site-packages/setuptools/package_index.py | 1126 - .../site-packages/setuptools/py34compat.py | 13 - .../python3.11/site-packages/setuptools/sandbox.py | 530 - .../site-packages/setuptools/script (dev).tmpl | 6 - .../site-packages/setuptools/script.tmpl | 3 - .../site-packages/setuptools/unicode_utils.py | 42 - .../python3.11/site-packages/setuptools/version.py | 6 - .../python3.11/site-packages/setuptools/wheel.py | 222 - .../site-packages/setuptools/windows_support.py | 29 - .../site-packages/six-1.16.0.dist-info/INSTALLER | 1 - .../site-packages/six-1.16.0.dist-info/LICENSE | 18 - .../site-packages/six-1.16.0.dist-info/METADATA | 49 - .../site-packages/six-1.16.0.dist-info/RECORD | 8 - .../site-packages/six-1.16.0.dist-info/WHEEL | 6 - .../six-1.16.0.dist-info/top_level.txt | 1 - venv/lib/python3.11/site-packages/six.py | 998 - .../sniffio-1.3.1.dist-info/INSTALLER | 1 - .../site-packages/sniffio-1.3.1.dist-info/LICENSE | 3 - .../sniffio-1.3.1.dist-info/LICENSE.APACHE2 | 202 - .../sniffio-1.3.1.dist-info/LICENSE.MIT | 20 - .../site-packages/sniffio-1.3.1.dist-info/METADATA | 104 - .../site-packages/sniffio-1.3.1.dist-info/RECORD | 19 - .../site-packages/sniffio-1.3.1.dist-info/WHEEL | 5 - .../sniffio-1.3.1.dist-info/top_level.txt | 1 - .../python3.11/site-packages/sniffio/__init__.py | 17 - .../sniffio/__pycache__/__init__.cpython-311.pyc | Bin 545 -> 0 bytes .../sniffio/__pycache__/_impl.cpython-311.pyc | Bin 3409 -> 0 bytes .../sniffio/__pycache__/_version.cpython-311.pyc | Bin 213 -> 0 bytes venv/lib/python3.11/site-packages/sniffio/_impl.py | 95 - .../site-packages/sniffio/_tests/__init__.py | 0 .../_tests/__pycache__/__init__.cpython-311.pyc | Bin 198 -> 0 bytes .../__pycache__/test_sniffio.cpython-311.pyc | Bin 5070 -> 0 bytes .../site-packages/sniffio/_tests/test_sniffio.py | 84 - .../python3.11/site-packages/sniffio/_version.py | 3 - venv/lib/python3.11/site-packages/sniffio/py.typed | 0 .../site-packages/sqlalchemy/__init__.py | 294 - .../__pycache__/__init__.cpython-311.pyc | Bin 13956 -> 0 bytes .../sqlalchemy/__pycache__/events.cpython-311.pyc | Bin 671 -> 0 bytes .../sqlalchemy/__pycache__/exc.cpython-311.pyc | Bin 34771 -> 0 bytes .../__pycache__/inspection.cpython-311.pyc | Bin 7435 -> 0 bytes .../sqlalchemy/__pycache__/log.cpython-311.pyc | Bin 12306 -> 0 bytes .../sqlalchemy/__pycache__/schema.cpython-311.pyc | Bin 3177 -> 0 bytes .../sqlalchemy/__pycache__/types.cpython-311.pyc | Bin 3240 -> 0 bytes .../sqlalchemy/connectors/__init__.py | 18 - .../__pycache__/__init__.cpython-311.pyc | Bin 682 -> 0 bytes .../connectors/__pycache__/aioodbc.cpython-311.pyc | Bin 8027 -> 0 bytes .../connectors/__pycache__/asyncio.cpython-311.pyc | Bin 12757 -> 0 bytes .../connectors/__pycache__/pyodbc.cpython-311.pyc | Bin 11185 -> 0 bytes .../site-packages/sqlalchemy/connectors/aioodbc.py | 174 - .../site-packages/sqlalchemy/connectors/asyncio.py | 208 - .../site-packages/sqlalchemy/connectors/pyodbc.py | 249 - .../sqlalchemy/cyextension/__init__.py | 6 - .../__pycache__/__init__.cpython-311.pyc | Bin 206 -> 0 bytes .../collections.cpython-311-x86_64-linux-gnu.so | Bin 2019496 -> 0 bytes .../sqlalchemy/cyextension/collections.pyx | 409 - .../immutabledict.cpython-311-x86_64-linux-gnu.so | Bin 703720 -> 0 bytes .../sqlalchemy/cyextension/immutabledict.pxd | 8 - .../sqlalchemy/cyextension/immutabledict.pyx | 133 - .../processors.cpython-311-x86_64-linux-gnu.so | Bin 509544 -> 0 bytes .../sqlalchemy/cyextension/processors.pyx | 68 - .../resultproxy.cpython-311-x86_64-linux-gnu.so | Bin 586752 -> 0 bytes .../sqlalchemy/cyextension/resultproxy.pyx | 102 - .../util.cpython-311-x86_64-linux-gnu.so | Bin 870128 -> 0 bytes .../site-packages/sqlalchemy/cyextension/util.pyx | 91 - .../site-packages/sqlalchemy/dialects/__init__.py | 61 - .../dialects/__pycache__/__init__.cpython-311.pyc | Bin 2097 -> 0 bytes .../dialects/__pycache__/_typing.cpython-311.pyc | Bin 1094 -> 0 bytes .../site-packages/sqlalchemy/dialects/_typing.py | 25 - .../sqlalchemy/dialects/mssql/__init__.py | 88 - .../mssql/__pycache__/__init__.cpython-311.pyc | Bin 2226 -> 0 bytes .../mssql/__pycache__/aioodbc.cpython-311.pyc | Bin 2591 -> 0 bytes .../mssql/__pycache__/base.cpython-311.pyc | Bin 157867 -> 0 bytes .../__pycache__/information_schema.cpython-311.pyc | Bin 9859 -> 0 bytes .../mssql/__pycache__/json.cpython-311.pyc | Bin 5828 -> 0 bytes .../mssql/__pycache__/provision.cpython-311.pyc | Bin 8399 -> 0 bytes .../mssql/__pycache__/pymssql.cpython-311.pyc | Bin 6678 -> 0 bytes .../mssql/__pycache__/pyodbc.cpython-311.pyc | Bin 33146 -> 0 bytes .../sqlalchemy/dialects/mssql/aioodbc.py | 64 - .../sqlalchemy/dialects/mssql/base.py | 4007 -- .../dialects/mssql/information_schema.py | 254 - .../sqlalchemy/dialects/mssql/json.py | 133 - .../sqlalchemy/dialects/mssql/provision.py | 155 - .../sqlalchemy/dialects/mssql/pymssql.py | 125 - .../sqlalchemy/dialects/mssql/pyodbc.py | 745 - .../sqlalchemy/dialects/mysql/__init__.py | 101 - .../mysql/__pycache__/__init__.cpython-311.pyc | Bin 2654 -> 0 bytes .../mysql/__pycache__/aiomysql.cpython-311.pyc | Bin 18123 -> 0 bytes .../mysql/__pycache__/asyncmy.cpython-311.pyc | Bin 18787 -> 0 bytes .../mysql/__pycache__/base.cpython-311.pyc | Bin 145328 -> 0 bytes .../mysql/__pycache__/cymysql.cpython-311.pyc | Bin 3348 -> 0 bytes .../dialects/mysql/__pycache__/dml.cpython-311.pyc | Bin 9104 -> 0 bytes .../mysql/__pycache__/enumerated.cpython-311.pyc | Bin 11258 -> 0 bytes .../mysql/__pycache__/expression.cpython-311.pyc | Bin 5392 -> 0 bytes .../mysql/__pycache__/json.cpython-311.pyc | Bin 3982 -> 0 bytes .../mysql/__pycache__/mariadb.cpython-311.pyc | Bin 1171 -> 0 bytes .../__pycache__/mariadbconnector.cpython-311.pyc | Bin 12859 -> 0 bytes .../__pycache__/mysqlconnector.cpython-311.pyc | Bin 9700 -> 0 bytes .../mysql/__pycache__/mysqldb.cpython-311.pyc | Bin 12714 -> 0 bytes .../mysql/__pycache__/provision.cpython-311.pyc | Bin 4848 -> 0 bytes .../mysql/__pycache__/pymysql.cpython-311.pyc | Bin 5649 -> 0 bytes .../mysql/__pycache__/pyodbc.cpython-311.pyc | Bin 5859 -> 0 bytes .../mysql/__pycache__/reflection.cpython-311.pyc | Bin 27141 -> 0 bytes .../__pycache__/reserved_words.cpython-311.pyc | Bin 4446 -> 0 bytes .../mysql/__pycache__/types.cpython-311.pyc | Bin 33731 -> 0 bytes .../sqlalchemy/dialects/mysql/aiomysql.py | 332 - .../sqlalchemy/dialects/mysql/asyncmy.py | 337 - .../sqlalchemy/dialects/mysql/base.py | 3447 - .../sqlalchemy/dialects/mysql/cymysql.py | 84 - .../site-packages/sqlalchemy/dialects/mysql/dml.py | 219 - .../sqlalchemy/dialects/mysql/enumerated.py | 244 - .../sqlalchemy/dialects/mysql/expression.py | 141 - .../sqlalchemy/dialects/mysql/json.py | 81 - .../sqlalchemy/dialects/mysql/mariadb.py | 32 - .../sqlalchemy/dialects/mysql/mariadbconnector.py | 275 - .../sqlalchemy/dialects/mysql/mysqlconnector.py | 179 - .../sqlalchemy/dialects/mysql/mysqldb.py | 303 - .../sqlalchemy/dialects/mysql/provision.py | 107 - .../sqlalchemy/dialects/mysql/pymysql.py | 137 - .../sqlalchemy/dialects/mysql/pyodbc.py | 138 - .../sqlalchemy/dialects/mysql/reflection.py | 677 - .../sqlalchemy/dialects/mysql/reserved_words.py | 571 - .../sqlalchemy/dialects/mysql/types.py | 774 - .../sqlalchemy/dialects/oracle/__init__.py | 67 - .../oracle/__pycache__/__init__.cpython-311.pyc | Bin 1731 -> 0 bytes .../oracle/__pycache__/base.cpython-311.pyc | Bin 136700 -> 0 bytes .../oracle/__pycache__/cx_oracle.cpython-311.pyc | Bin 62959 -> 0 bytes .../oracle/__pycache__/dictionary.cpython-311.pyc | Bin 32392 -> 0 bytes .../oracle/__pycache__/oracledb.cpython-311.pyc | Bin 15311 -> 0 bytes .../oracle/__pycache__/provision.cpython-311.pyc | Bin 12688 -> 0 bytes .../oracle/__pycache__/types.cpython-311.pyc | Bin 13844 -> 0 bytes .../sqlalchemy/dialects/oracle/base.py | 3240 - .../sqlalchemy/dialects/oracle/cx_oracle.py | 1492 - .../sqlalchemy/dialects/oracle/dictionary.py | 507 - .../sqlalchemy/dialects/oracle/oracledb.py | 311 - .../sqlalchemy/dialects/oracle/provision.py | 220 - .../sqlalchemy/dialects/oracle/types.py | 287 - .../sqlalchemy/dialects/postgresql/__init__.py | 167 - .../__pycache__/__init__.cpython-311.pyc | Bin 4640 -> 0 bytes .../__pycache__/_psycopg_common.cpython-311.pyc | Bin 8755 -> 0 bytes .../postgresql/__pycache__/array.cpython-311.pyc | Bin 17843 -> 0 bytes .../postgresql/__pycache__/asyncpg.cpython-311.pyc | Bin 61182 -> 0 bytes .../postgresql/__pycache__/base.cpython-311.pyc | Bin 207977 -> 0 bytes .../postgresql/__pycache__/dml.cpython-311.pyc | Bin 12630 -> 0 bytes .../postgresql/__pycache__/ext.cpython-311.pyc | Bin 20760 -> 0 bytes .../postgresql/__pycache__/hstore.cpython-311.pyc | Bin 16586 -> 0 bytes .../postgresql/__pycache__/json.cpython-311.pyc | Bin 14343 -> 0 bytes .../__pycache__/named_types.cpython-311.pyc | Bin 25105 -> 0 bytes .../__pycache__/operators.cpython-311.pyc | Bin 2188 -> 0 bytes .../postgresql/__pycache__/pg8000.cpython-311.pyc | Bin 32853 -> 0 bytes .../__pycache__/pg_catalog.cpython-311.pyc | Bin 13658 -> 0 bytes .../__pycache__/provision.cpython-311.pyc | Bin 9178 -> 0 bytes .../postgresql/__pycache__/psycopg.cpython-311.pyc | Bin 39132 -> 0 bytes .../__pycache__/psycopg2.cpython-311.pyc | Bin 36923 -> 0 bytes .../__pycache__/psycopg2cffi.cpython-311.pyc | Bin 2307 -> 0 bytes .../postgresql/__pycache__/ranges.cpython-311.pyc | Bin 37622 -> 0 bytes .../postgresql/__pycache__/types.cpython-311.pyc | Bin 12406 -> 0 bytes .../dialects/postgresql/_psycopg_common.py | 187 - .../sqlalchemy/dialects/postgresql/array.py | 425 - .../sqlalchemy/dialects/postgresql/asyncpg.py | 1262 - .../sqlalchemy/dialects/postgresql/base.py | 5007 -- .../sqlalchemy/dialects/postgresql/dml.py | 310 - .../sqlalchemy/dialects/postgresql/ext.py | 496 - .../sqlalchemy/dialects/postgresql/hstore.py | 397 - .../sqlalchemy/dialects/postgresql/json.py | 325 - .../sqlalchemy/dialects/postgresql/named_types.py | 509 - .../sqlalchemy/dialects/postgresql/operators.py | 129 - .../sqlalchemy/dialects/postgresql/pg8000.py | 662 - .../sqlalchemy/dialects/postgresql/pg_catalog.py | 300 - .../sqlalchemy/dialects/postgresql/provision.py | 175 - .../sqlalchemy/dialects/postgresql/psycopg.py | 749 - .../sqlalchemy/dialects/postgresql/psycopg2.py | 876 - .../sqlalchemy/dialects/postgresql/psycopg2cffi.py | 61 - .../sqlalchemy/dialects/postgresql/ranges.py | 1029 - .../sqlalchemy/dialects/postgresql/types.py | 303 - .../sqlalchemy/dialects/sqlite/__init__.py | 57 - .../sqlite/__pycache__/__init__.cpython-311.pyc | Bin 1381 -> 0 bytes .../sqlite/__pycache__/aiosqlite.cpython-311.pyc | Bin 19317 -> 0 bytes .../sqlite/__pycache__/base.cpython-311.pyc | Bin 104751 -> 0 bytes .../sqlite/__pycache__/dml.cpython-311.pyc | Bin 10200 -> 0 bytes .../sqlite/__pycache__/json.cpython-311.pyc | Bin 4319 -> 0 bytes .../sqlite/__pycache__/provision.cpython-311.pyc | Bin 7990 -> 0 bytes .../sqlite/__pycache__/pysqlcipher.cpython-311.pyc | Bin 6604 -> 0 bytes .../sqlite/__pycache__/pysqlite.cpython-311.pyc | Bin 33807 -> 0 bytes .../sqlalchemy/dialects/sqlite/aiosqlite.py | 396 - .../sqlalchemy/dialects/sqlite/base.py | 2782 - .../sqlalchemy/dialects/sqlite/dml.py | 240 - .../sqlalchemy/dialects/sqlite/json.py | 92 - .../sqlalchemy/dialects/sqlite/provision.py | 198 - .../sqlalchemy/dialects/sqlite/pysqlcipher.py | 155 - .../sqlalchemy/dialects/sqlite/pysqlite.py | 756 - .../dialects/type_migration_guidelines.txt | 145 - .../site-packages/sqlalchemy/engine/__init__.py | 62 - .../engine/__pycache__/__init__.cpython-311.pyc | Bin 2961 -> 0 bytes .../__pycache__/_py_processors.cpython-311.pyc | Bin 5171 -> 0 bytes .../engine/__pycache__/_py_row.cpython-311.pyc | Bin 6772 -> 0 bytes .../engine/__pycache__/_py_util.cpython-311.pyc | Bin 2564 -> 0 bytes .../engine/__pycache__/base.cpython-311.pyc | Bin 133235 -> 0 bytes .../__pycache__/characteristics.cpython-311.pyc | Bin 3920 -> 0 bytes .../engine/__pycache__/create.cpython-311.pyc | Bin 35466 -> 0 bytes .../engine/__pycache__/cursor.cpython-311.pyc | Bin 87327 -> 0 bytes .../engine/__pycache__/default.cpython-311.pyc | Bin 93432 -> 0 bytes .../engine/__pycache__/events.cpython-311.pyc | Bin 40574 -> 0 bytes .../engine/__pycache__/interfaces.cpython-311.pyc | Bin 103491 -> 0 bytes .../engine/__pycache__/mock.cpython-311.pyc | Bin 6280 -> 0 bytes .../engine/__pycache__/processors.cpython-311.pyc | Bin 1664 -> 0 bytes .../engine/__pycache__/reflection.cpython-311.pyc | Bin 85712 -> 0 bytes .../engine/__pycache__/result.cpython-311.pyc | Bin 101187 -> 0 bytes .../engine/__pycache__/row.cpython-311.pyc | Bin 19534 -> 0 bytes .../engine/__pycache__/strategies.cpython-311.pyc | Bin 653 -> 0 bytes .../engine/__pycache__/url.cpython-311.pyc | Bin 36722 -> 0 bytes .../engine/__pycache__/util.cpython-311.pyc | Bin 7641 -> 0 bytes .../sqlalchemy/engine/_py_processors.py | 136 - .../site-packages/sqlalchemy/engine/_py_row.py | 128 - .../site-packages/sqlalchemy/engine/_py_util.py | 74 - .../site-packages/sqlalchemy/engine/base.py | 3377 - .../sqlalchemy/engine/characteristics.py | 81 - .../site-packages/sqlalchemy/engine/create.py | 875 - .../site-packages/sqlalchemy/engine/cursor.py | 2178 - .../site-packages/sqlalchemy/engine/default.py | 2343 - .../site-packages/sqlalchemy/engine/events.py | 951 - .../site-packages/sqlalchemy/engine/interfaces.py | 3395 - .../site-packages/sqlalchemy/engine/mock.py | 131 - .../site-packages/sqlalchemy/engine/processors.py | 61 - .../site-packages/sqlalchemy/engine/reflection.py | 2089 - .../site-packages/sqlalchemy/engine/result.py | 2382 - .../site-packages/sqlalchemy/engine/row.py | 401 - .../site-packages/sqlalchemy/engine/strategies.py | 19 - .../site-packages/sqlalchemy/engine/url.py | 910 - .../site-packages/sqlalchemy/engine/util.py | 167 - .../site-packages/sqlalchemy/event/__init__.py | 25 - .../event/__pycache__/__init__.cpython-311.pyc | Bin 1099 -> 0 bytes .../event/__pycache__/api.cpython-311.pyc | Bin 9489 -> 0 bytes .../event/__pycache__/attr.cpython-311.pyc | Bin 33953 -> 0 bytes .../event/__pycache__/base.cpython-311.pyc | Bin 21931 -> 0 bytes .../event/__pycache__/legacy.cpython-311.pyc | Bin 10089 -> 0 bytes .../event/__pycache__/registry.cpython-311.pyc | Bin 13444 -> 0 bytes .../site-packages/sqlalchemy/event/api.py | 225 - .../site-packages/sqlalchemy/event/attr.py | 655 - .../site-packages/sqlalchemy/event/base.py | 462 - .../site-packages/sqlalchemy/event/legacy.py | 246 - .../site-packages/sqlalchemy/event/registry.py | 386 - .../python3.11/site-packages/sqlalchemy/events.py | 17 - .../lib/python3.11/site-packages/sqlalchemy/exc.py | 830 - .../site-packages/sqlalchemy/ext/__init__.py | 11 - .../ext/__pycache__/__init__.cpython-311.pyc | Bin 373 -> 0 bytes .../__pycache__/associationproxy.cpython-311.pyc | Bin 94141 -> 0 bytes .../ext/__pycache__/automap.cpython-311.pyc | Bin 58905 -> 0 bytes .../ext/__pycache__/baked.cpython-311.pyc | Bin 25104 -> 0 bytes .../ext/__pycache__/compiler.cpython-311.pyc | Bin 21019 -> 0 bytes .../__pycache__/horizontal_shard.cpython-311.pyc | Bin 19003 -> 0 bytes .../ext/__pycache__/hybrid.cpython-311.pyc | Bin 62274 -> 0 bytes .../ext/__pycache__/indexable.cpython-311.pyc | Bin 12654 -> 0 bytes .../__pycache__/instrumentation.cpython-311.pyc | Bin 21569 -> 0 bytes .../ext/__pycache__/mutable.cpython-311.pyc | Bin 50959 -> 0 bytes .../ext/__pycache__/orderinglist.cpython-311.pyc | Bin 18761 -> 0 bytes .../ext/__pycache__/serializer.cpython-311.pyc | Bin 8182 -> 0 bytes .../sqlalchemy/ext/associationproxy.py | 2005 - .../sqlalchemy/ext/asyncio/__init__.py | 25 - .../asyncio/__pycache__/__init__.cpython-311.pyc | Bin 1250 -> 0 bytes .../ext/asyncio/__pycache__/base.cpython-311.pyc | Bin 12227 -> 0 bytes .../ext/asyncio/__pycache__/engine.cpython-311.pyc | Bin 59576 -> 0 bytes .../ext/asyncio/__pycache__/exc.cpython-311.pyc | Bin 1191 -> 0 bytes .../ext/asyncio/__pycache__/result.cpython-311.pyc | Bin 39306 -> 0 bytes .../asyncio/__pycache__/scoping.cpython-311.pyc | Bin 57031 -> 0 bytes .../asyncio/__pycache__/session.cpython-311.pyc | Bin 72886 -> 0 bytes .../site-packages/sqlalchemy/ext/asyncio/base.py | 279 - .../site-packages/sqlalchemy/ext/asyncio/engine.py | 1466 - .../site-packages/sqlalchemy/ext/asyncio/exc.py | 21 - .../site-packages/sqlalchemy/ext/asyncio/result.py | 961 - .../sqlalchemy/ext/asyncio/scoping.py | 1614 - .../sqlalchemy/ext/asyncio/session.py | 1936 - .../site-packages/sqlalchemy/ext/automap.py | 1658 - .../site-packages/sqlalchemy/ext/baked.py | 574 - .../site-packages/sqlalchemy/ext/compiler.py | 555 - .../sqlalchemy/ext/declarative/__init__.py | 65 - .../__pycache__/__init__.cpython-311.pyc | Bin 2254 -> 0 bytes .../__pycache__/extensions.cpython-311.pyc | Bin 22442 -> 0 bytes .../sqlalchemy/ext/declarative/extensions.py | 548 - .../sqlalchemy/ext/horizontal_shard.py | 481 - .../site-packages/sqlalchemy/ext/hybrid.py | 1514 - .../site-packages/sqlalchemy/ext/indexable.py | 341 - .../sqlalchemy/ext/instrumentation.py | 450 - .../site-packages/sqlalchemy/ext/mutable.py | 1073 - .../site-packages/sqlalchemy/ext/mypy/__init__.py | 6 - .../ext/mypy/__pycache__/__init__.cpython-311.pyc | Bin 203 -> 0 bytes .../ext/mypy/__pycache__/apply.cpython-311.pyc | Bin 11087 -> 0 bytes .../mypy/__pycache__/decl_class.cpython-311.pyc | Bin 15907 -> 0 bytes .../ext/mypy/__pycache__/infer.cpython-311.pyc | Bin 16021 -> 0 bytes .../ext/mypy/__pycache__/names.cpython-311.pyc | Bin 11696 -> 0 bytes .../ext/mypy/__pycache__/plugin.cpython-311.pyc | Bin 13050 -> 0 bytes .../ext/mypy/__pycache__/util.cpython-311.pyc | Bin 14939 -> 0 bytes .../site-packages/sqlalchemy/ext/mypy/apply.py | 320 - .../sqlalchemy/ext/mypy/decl_class.py | 515 - .../site-packages/sqlalchemy/ext/mypy/infer.py | 590 - .../site-packages/sqlalchemy/ext/mypy/names.py | 335 - .../site-packages/sqlalchemy/ext/mypy/plugin.py | 303 - .../site-packages/sqlalchemy/ext/mypy/util.py | 338 - .../site-packages/sqlalchemy/ext/orderinglist.py | 416 - .../site-packages/sqlalchemy/ext/serializer.py | 185 - .../site-packages/sqlalchemy/future/__init__.py | 16 - .../future/__pycache__/__init__.cpython-311.pyc | Bin 532 -> 0 bytes .../future/__pycache__/engine.cpython-311.pyc | Bin 450 -> 0 bytes .../site-packages/sqlalchemy/future/engine.py | 15 - .../site-packages/sqlalchemy/inspection.py | 174 - .../lib/python3.11/site-packages/sqlalchemy/log.py | 288 - .../site-packages/sqlalchemy/orm/__init__.py | 170 - .../orm/__pycache__/__init__.cpython-311.pyc | Bin 8557 -> 0 bytes .../__pycache__/_orm_constructors.cpython-311.pyc | Bin 100035 -> 0 bytes .../orm/__pycache__/_typing.cpython-311.pyc | Bin 7834 -> 0 bytes .../orm/__pycache__/attributes.cpython-311.pyc | Bin 104505 -> 0 bytes .../orm/__pycache__/base.cpython-311.pyc | Bin 32806 -> 0 bytes .../__pycache__/bulk_persistence.cpython-311.pyc | Bin 70614 -> 0 bytes .../orm/__pycache__/clsregistry.cpython-311.pyc | Bin 26896 -> 0 bytes .../orm/__pycache__/collections.cpython-311.pyc | Bin 68350 -> 0 bytes .../orm/__pycache__/context.cpython-311.pyc | Bin 103753 -> 0 bytes .../orm/__pycache__/decl_api.cpython-311.pyc | Bin 70976 -> 0 bytes .../orm/__pycache__/decl_base.cpython-311.pyc | Bin 76416 -> 0 bytes .../orm/__pycache__/dependency.cpython-311.pyc | Bin 44509 -> 0 bytes .../__pycache__/descriptor_props.cpython-311.pyc | Bin 53451 -> 0 bytes .../orm/__pycache__/dynamic.cpython-311.pyc | Bin 14108 -> 0 bytes .../orm/__pycache__/evaluator.cpython-311.pyc | Bin 17661 -> 0 bytes .../orm/__pycache__/events.cpython-311.pyc | Bin 140389 -> 0 bytes .../sqlalchemy/orm/__pycache__/exc.cpython-311.pyc | Bin 11103 -> 0 bytes .../orm/__pycache__/identity.cpython-311.pyc | Bin 13935 -> 0 bytes .../__pycache__/instrumentation.cpython-311.pyc | Bin 33762 -> 0 bytes .../orm/__pycache__/interfaces.cpython-311.pyc | Bin 56553 -> 0 bytes .../orm/__pycache__/loading.cpython-311.pyc | Bin 51952 -> 0 bytes .../__pycache__/mapped_collection.cpython-311.pyc | Bin 23740 -> 0 bytes .../orm/__pycache__/mapper.cpython-311.pyc | Bin 175532 -> 0 bytes .../orm/__pycache__/path_registry.cpython-311.pyc | Bin 34743 -> 0 bytes .../orm/__pycache__/persistence.cpython-311.pyc | Bin 50760 -> 0 bytes .../orm/__pycache__/properties.cpython-311.pyc | Bin 34341 -> 0 bytes .../orm/__pycache__/query.cpython-311.pyc | Bin 132189 -> 0 bytes .../orm/__pycache__/relationships.cpython-311.pyc | Bin 135454 -> 0 bytes .../orm/__pycache__/scoping.cpython-311.pyc | Bin 84345 -> 0 bytes .../orm/__pycache__/session.cpython-311.pyc | Bin 205815 -> 0 bytes .../orm/__pycache__/state.cpython-311.pyc | Bin 47732 -> 0 bytes .../orm/__pycache__/state_changes.cpython-311.pyc | Bin 7462 -> 0 bytes .../orm/__pycache__/strategies.cpython-311.pyc | Bin 109480 -> 0 bytes .../__pycache__/strategy_options.cpython-311.pyc | Bin 90575 -> 0 bytes .../orm/__pycache__/sync.cpython-311.pyc | Bin 6977 -> 0 bytes .../orm/__pycache__/unitofwork.cpython-311.pyc | Bin 37079 -> 0 bytes .../orm/__pycache__/util.cpython-311.pyc | Bin 92891 -> 0 bytes .../orm/__pycache__/writeonly.cpython-311.pyc | Bin 29722 -> 0 bytes .../sqlalchemy/orm/_orm_constructors.py | 2471 - .../site-packages/sqlalchemy/orm/_typing.py | 179 - .../site-packages/sqlalchemy/orm/attributes.py | 2835 - .../site-packages/sqlalchemy/orm/base.py | 971 - .../sqlalchemy/orm/bulk_persistence.py | 2048 - .../site-packages/sqlalchemy/orm/clsregistry.py | 570 - .../site-packages/sqlalchemy/orm/collections.py | 1618 - .../site-packages/sqlalchemy/orm/context.py | 3243 - .../site-packages/sqlalchemy/orm/decl_api.py | 1875 - .../site-packages/sqlalchemy/orm/decl_base.py | 2152 - .../site-packages/sqlalchemy/orm/dependency.py | 1304 - .../sqlalchemy/orm/descriptor_props.py | 1074 - .../site-packages/sqlalchemy/orm/dynamic.py | 298 - .../site-packages/sqlalchemy/orm/evaluator.py | 368 - .../site-packages/sqlalchemy/orm/events.py | 3259 - .../python3.11/site-packages/sqlalchemy/orm/exc.py | 228 - .../site-packages/sqlalchemy/orm/identity.py | 302 - .../sqlalchemy/orm/instrumentation.py | 754 - .../site-packages/sqlalchemy/orm/interfaces.py | 1469 - .../site-packages/sqlalchemy/orm/loading.py | 1665 - .../sqlalchemy/orm/mapped_collection.py | 560 - .../site-packages/sqlalchemy/orm/mapper.py | 4420 -- .../site-packages/sqlalchemy/orm/path_registry.py | 808 - .../site-packages/sqlalchemy/orm/persistence.py | 1782 - .../site-packages/sqlalchemy/orm/properties.py | 886 - .../site-packages/sqlalchemy/orm/query.py | 3394 - .../site-packages/sqlalchemy/orm/relationships.py | 3500 - .../site-packages/sqlalchemy/orm/scoping.py | 2165 - .../site-packages/sqlalchemy/orm/session.py | 5238 -- .../site-packages/sqlalchemy/orm/state.py | 1136 - .../site-packages/sqlalchemy/orm/state_changes.py | 198 - .../site-packages/sqlalchemy/orm/strategies.py | 3344 - .../sqlalchemy/orm/strategy_options.py | 2555 - .../site-packages/sqlalchemy/orm/sync.py | 164 - .../site-packages/sqlalchemy/orm/unitofwork.py | 796 - .../site-packages/sqlalchemy/orm/util.py | 2416 - .../site-packages/sqlalchemy/orm/writeonly.py | 678 - .../site-packages/sqlalchemy/pool/__init__.py | 44 - .../pool/__pycache__/__init__.cpython-311.pyc | Bin 1878 -> 0 bytes .../pool/__pycache__/base.cpython-311.pyc | Bin 59317 -> 0 bytes .../pool/__pycache__/events.cpython-311.pyc | Bin 14483 -> 0 bytes .../pool/__pycache__/impl.cpython-311.pyc | Bin 27550 -> 0 bytes .../site-packages/sqlalchemy/pool/base.py | 1515 - .../site-packages/sqlalchemy/pool/events.py | 370 - .../site-packages/sqlalchemy/pool/impl.py | 581 - .../python3.11/site-packages/sqlalchemy/py.typed | 0 .../python3.11/site-packages/sqlalchemy/schema.py | 70 - .../site-packages/sqlalchemy/sql/__init__.py | 145 - .../sql/__pycache__/__init__.cpython-311.pyc | Bin 6476 -> 0 bytes .../__pycache__/_dml_constructors.cpython-311.pyc | Bin 4303 -> 0 bytes .../_elements_constructors.cpython-311.pyc | Bin 66541 -> 0 bytes .../sql/__pycache__/_orm_types.cpython-311.pyc | Bin 678 -> 0 bytes .../sql/__pycache__/_py_util.cpython-311.pyc | Bin 3351 -> 0 bytes .../_selectable_constructors.cpython-311.pyc | Bin 21634 -> 0 bytes .../sql/__pycache__/_typing.cpython-311.pyc | Bin 16730 -> 0 bytes .../sql/__pycache__/annotation.cpython-311.pyc | Bin 23147 -> 0 bytes .../sql/__pycache__/base.cpython-311.pyc | Bin 107198 -> 0 bytes .../sql/__pycache__/cache_key.cpython-311.pyc | Bin 39232 -> 0 bytes .../sql/__pycache__/coercions.cpython-311.pyc | Bin 53716 -> 0 bytes .../sql/__pycache__/compiler.cpython-311.pyc | Bin 286030 -> 0 bytes .../sql/__pycache__/crud.cpython-311.pyc | Bin 47495 -> 0 bytes .../sqlalchemy/sql/__pycache__/ddl.cpython-311.pyc | Bin 62979 -> 0 bytes .../__pycache__/default_comparator.cpython-311.pyc | Bin 18086 -> 0 bytes .../sqlalchemy/sql/__pycache__/dml.cpython-311.pyc | Bin 77526 -> 0 bytes .../sql/__pycache__/elements.cpython-311.pyc | Bin 217761 -> 0 bytes .../sql/__pycache__/events.cpython-311.pyc | Bin 19364 -> 0 bytes .../sql/__pycache__/expression.cpython-311.pyc | Bin 7230 -> 0 bytes .../sql/__pycache__/functions.cpython-311.pyc | Bin 80876 -> 0 bytes .../sql/__pycache__/lambdas.cpython-311.pyc | Bin 59594 -> 0 bytes .../sql/__pycache__/naming.cpython-311.pyc | Bin 9203 -> 0 bytes .../sql/__pycache__/operators.cpython-311.pyc | Bin 93289 -> 0 bytes .../sql/__pycache__/roles.cpython-311.pyc | Bin 14938 -> 0 bytes .../sql/__pycache__/schema.cpython-311.pyc | Bin 255679 -> 0 bytes .../sql/__pycache__/selectable.cpython-311.pyc | Bin 272258 -> 0 bytes .../sql/__pycache__/sqltypes.cpython-311.pyc | Bin 158830 -> 0 bytes .../sql/__pycache__/traversals.cpython-311.pyc | Bin 49251 -> 0 bytes .../sql/__pycache__/type_api.cpython-311.pyc | Bin 87962 -> 0 bytes .../sql/__pycache__/util.cpython-311.pyc | Bin 59936 -> 0 bytes .../sql/__pycache__/visitors.cpython-311.pyc | Bin 38853 -> 0 bytes .../sqlalchemy/sql/_dml_constructors.py | 140 - .../sqlalchemy/sql/_elements_constructors.py | 1840 - .../site-packages/sqlalchemy/sql/_orm_types.py | 20 - .../site-packages/sqlalchemy/sql/_py_util.py | 75 - .../sqlalchemy/sql/_selectable_constructors.py | 635 - .../site-packages/sqlalchemy/sql/_typing.py | 457 - .../site-packages/sqlalchemy/sql/annotation.py | 585 - .../site-packages/sqlalchemy/sql/base.py | 2180 - .../site-packages/sqlalchemy/sql/cache_key.py | 1057 - .../site-packages/sqlalchemy/sql/coercions.py | 1389 - .../site-packages/sqlalchemy/sql/compiler.py | 7811 --- .../site-packages/sqlalchemy/sql/crud.py | 1669 - .../python3.11/site-packages/sqlalchemy/sql/ddl.py | 1378 - .../sqlalchemy/sql/default_comparator.py | 552 - .../python3.11/site-packages/sqlalchemy/sql/dml.py | 1817 - .../site-packages/sqlalchemy/sql/elements.py | 5405 -- .../site-packages/sqlalchemy/sql/events.py | 455 - .../site-packages/sqlalchemy/sql/expression.py | 162 - .../site-packages/sqlalchemy/sql/functions.py | 2052 - .../site-packages/sqlalchemy/sql/lambdas.py | 1449 - .../site-packages/sqlalchemy/sql/naming.py | 212 - .../site-packages/sqlalchemy/sql/operators.py | 2573 - .../site-packages/sqlalchemy/sql/roles.py | 323 - .../site-packages/sqlalchemy/sql/schema.py | 6115 -- .../site-packages/sqlalchemy/sql/selectable.py | 6913 -- .../site-packages/sqlalchemy/sql/sqltypes.py | 3786 -- .../site-packages/sqlalchemy/sql/traversals.py | 1022 - .../site-packages/sqlalchemy/sql/type_api.py | 2303 - .../site-packages/sqlalchemy/sql/util.py | 1486 - .../site-packages/sqlalchemy/sql/visitors.py | 1165 - .../site-packages/sqlalchemy/testing/__init__.py | 95 - .../testing/__pycache__/__init__.cpython-311.pyc | Bin 4472 -> 0 bytes .../testing/__pycache__/assertions.cpython-311.pyc | Bin 49524 -> 0 bytes .../testing/__pycache__/assertsql.cpython-311.pyc | Bin 22362 -> 0 bytes .../testing/__pycache__/asyncio.cpython-311.pyc | Bin 4499 -> 0 bytes .../testing/__pycache__/config.cpython-311.pyc | Bin 19660 -> 0 bytes .../testing/__pycache__/engines.cpython-311.pyc | Bin 23298 -> 0 bytes .../testing/__pycache__/entities.cpython-311.pyc | Bin 6025 -> 0 bytes .../testing/__pycache__/exclusions.cpython-311.pyc | Bin 24306 -> 0 bytes .../testing/__pycache__/pickleable.cpython-311.pyc | Bin 7604 -> 0 bytes .../testing/__pycache__/profiling.cpython-311.pyc | Bin 14276 -> 0 bytes .../testing/__pycache__/provision.cpython-311.pyc | Bin 23283 -> 0 bytes .../__pycache__/requirements.cpython-311.pyc | Bin 87090 -> 0 bytes .../testing/__pycache__/schema.cpython-311.pyc | Bin 9944 -> 0 bytes .../testing/__pycache__/util.cpython-311.pyc | Bin 24674 -> 0 bytes .../testing/__pycache__/warnings.cpython-311.pyc | Bin 2272 -> 0 bytes .../site-packages/sqlalchemy/testing/assertions.py | 989 - .../site-packages/sqlalchemy/testing/assertsql.py | 516 - .../site-packages/sqlalchemy/testing/asyncio.py | 135 - .../site-packages/sqlalchemy/testing/config.py | 427 - .../site-packages/sqlalchemy/testing/engines.py | 472 - .../site-packages/sqlalchemy/testing/entities.py | 117 - .../site-packages/sqlalchemy/testing/exclusions.py | 435 - .../sqlalchemy/testing/fixtures/__init__.py | 28 - .../fixtures/__pycache__/__init__.cpython-311.pyc | Bin 1191 -> 0 bytes .../fixtures/__pycache__/base.cpython-311.pyc | Bin 15739 -> 0 bytes .../fixtures/__pycache__/mypy.cpython-311.pyc | Bin 14625 -> 0 bytes .../fixtures/__pycache__/orm.cpython-311.pyc | Bin 12949 -> 0 bytes .../fixtures/__pycache__/sql.cpython-311.pyc | Bin 25189 -> 0 bytes .../sqlalchemy/testing/fixtures/base.py | 366 - .../sqlalchemy/testing/fixtures/mypy.py | 312 - .../sqlalchemy/testing/fixtures/orm.py | 227 - .../sqlalchemy/testing/fixtures/sql.py | 493 - .../site-packages/sqlalchemy/testing/pickleable.py | 155 - .../sqlalchemy/testing/plugin/__init__.py | 6 - .../plugin/__pycache__/__init__.cpython-311.pyc | Bin 209 -> 0 bytes .../plugin/__pycache__/bootstrap.cpython-311.pyc | Bin 2230 -> 0 bytes .../plugin/__pycache__/plugin_base.cpython-311.pyc | Bin 31509 -> 0 bytes .../__pycache__/pytestplugin.cpython-311.pyc | Bin 37248 -> 0 bytes .../sqlalchemy/testing/plugin/bootstrap.py | 51 - .../sqlalchemy/testing/plugin/plugin_base.py | 779 - .../sqlalchemy/testing/plugin/pytestplugin.py | 868 - .../site-packages/sqlalchemy/testing/profiling.py | 324 - .../site-packages/sqlalchemy/testing/provision.py | 496 - .../sqlalchemy/testing/requirements.py | 1783 - .../site-packages/sqlalchemy/testing/schema.py | 224 - .../sqlalchemy/testing/suite/__init__.py | 19 - .../suite/__pycache__/__init__.cpython-311.pyc | Bin 663 -> 0 bytes .../suite/__pycache__/test_cte.cpython-311.pyc | Bin 10661 -> 0 bytes .../suite/__pycache__/test_ddl.cpython-311.pyc | Bin 21767 -> 0 bytes .../__pycache__/test_deprecations.cpython-311.pyc | Bin 10015 -> 0 bytes .../suite/__pycache__/test_dialect.cpython-311.pyc | Bin 39595 -> 0 bytes .../suite/__pycache__/test_insert.cpython-311.pyc | Bin 28272 -> 0 bytes .../__pycache__/test_reflection.cpython-311.pyc | Bin 152512 -> 0 bytes .../suite/__pycache__/test_results.cpython-311.pyc | Bin 26509 -> 0 bytes .../__pycache__/test_rowcount.cpython-311.pyc | Bin 11067 -> 0 bytes .../suite/__pycache__/test_select.cpython-311.pyc | Bin 115631 -> 0 bytes .../__pycache__/test_sequence.cpython-311.pyc | Bin 16954 -> 0 bytes .../suite/__pycache__/test_types.cpython-311.pyc | Bin 107496 -> 0 bytes .../__pycache__/test_unicode_ddl.cpython-311.pyc | Bin 9173 -> 0 bytes .../__pycache__/test_update_delete.cpython-311.pyc | Bin 7763 -> 0 bytes .../sqlalchemy/testing/suite/test_cte.py | 211 - .../sqlalchemy/testing/suite/test_ddl.py | 389 - .../sqlalchemy/testing/suite/test_deprecations.py | 153 - .../sqlalchemy/testing/suite/test_dialect.py | 740 - .../sqlalchemy/testing/suite/test_insert.py | 630 - .../sqlalchemy/testing/suite/test_reflection.py | 3128 - .../sqlalchemy/testing/suite/test_results.py | 468 - .../sqlalchemy/testing/suite/test_rowcount.py | 258 - .../sqlalchemy/testing/suite/test_select.py | 1888 - .../sqlalchemy/testing/suite/test_sequence.py | 317 - .../sqlalchemy/testing/suite/test_types.py | 2071 - .../sqlalchemy/testing/suite/test_unicode_ddl.py | 189 - .../sqlalchemy/testing/suite/test_update_delete.py | 139 - .../site-packages/sqlalchemy/testing/util.py | 519 - .../site-packages/sqlalchemy/testing/warnings.py | 52 - .../python3.11/site-packages/sqlalchemy/types.py | 76 - .../site-packages/sqlalchemy/util/__init__.py | 159 - .../util/__pycache__/__init__.cpython-311.pyc | Bin 7824 -> 0 bytes .../util/__pycache__/_collections.cpython-311.pyc | Bin 36530 -> 0 bytes .../__pycache__/_concurrency_py3k.cpython-311.pyc | Bin 12296 -> 0 bytes .../util/__pycache__/_has_cy.cpython-311.pyc | Bin 1273 -> 0 bytes .../__pycache__/_py_collections.cpython-311.pyc | Bin 35537 -> 0 bytes .../util/__pycache__/compat.cpython-311.pyc | Bin 13640 -> 0 bytes .../util/__pycache__/concurrency.cpython-311.pyc | Bin 4664 -> 0 bytes .../util/__pycache__/deprecations.cpython-311.pyc | Bin 14959 -> 0 bytes .../util/__pycache__/langhelpers.cpython-311.pyc | Bin 94945 -> 0 bytes .../util/__pycache__/preloaded.cpython-311.pyc | Bin 6691 -> 0 bytes .../util/__pycache__/queue.cpython-311.pyc | Bin 16638 -> 0 bytes .../util/__pycache__/tool_support.cpython-311.pyc | Bin 9675 -> 0 bytes .../util/__pycache__/topological.cpython-311.pyc | Bin 4760 -> 0 bytes .../util/__pycache__/typing.cpython-311.pyc | Bin 23055 -> 0 bytes .../site-packages/sqlalchemy/util/_collections.py | 715 - .../sqlalchemy/util/_concurrency_py3k.py | 290 - .../site-packages/sqlalchemy/util/_has_cy.py | 40 - .../sqlalchemy/util/_py_collections.py | 541 - .../site-packages/sqlalchemy/util/compat.py | 300 - .../site-packages/sqlalchemy/util/concurrency.py | 108 - .../site-packages/sqlalchemy/util/deprecations.py | 401 - .../site-packages/sqlalchemy/util/langhelpers.py | 2211 - .../site-packages/sqlalchemy/util/preloaded.py | 150 - .../site-packages/sqlalchemy/util/queue.py | 322 - .../site-packages/sqlalchemy/util/tool_support.py | 201 - .../site-packages/sqlalchemy/util/topological.py | 120 - .../site-packages/sqlalchemy/util/typing.py | 580 - .../typing_extensions-4.10.0.dist-info/INSTALLER | 1 - .../typing_extensions-4.10.0.dist-info/LICENSE | 279 - .../typing_extensions-4.10.0.dist-info/METADATA | 66 - .../typing_extensions-4.10.0.dist-info/RECORD | 7 - .../typing_extensions-4.10.0.dist-info/WHEEL | 4 - .../python3.11/site-packages/typing_extensions.py | 3227 - .../uvicorn-0.29.0.dist-info/INSTALLER | 1 - .../uvicorn-0.29.0.dist-info/METADATA | 181 - .../site-packages/uvicorn-0.29.0.dist-info/RECORD | 86 - .../site-packages/uvicorn-0.29.0.dist-info/WHEEL | 4 - .../uvicorn-0.29.0.dist-info/entry_points.txt | 2 - .../uvicorn-0.29.0.dist-info/licenses/LICENSE.md | 27 - .../python3.11/site-packages/uvicorn/__init__.py | 5 - .../python3.11/site-packages/uvicorn/__main__.py | 4 - .../uvicorn/__pycache__/__init__.cpython-311.pyc | Bin 428 -> 0 bytes .../uvicorn/__pycache__/__main__.cpython-311.pyc | Bin 317 -> 0 bytes .../__pycache__/_subprocess.cpython-311.pyc | Bin 2994 -> 0 bytes .../uvicorn/__pycache__/_types.cpython-311.pyc | Bin 13675 -> 0 bytes .../uvicorn/__pycache__/config.cpython-311.pyc | Bin 25835 -> 0 bytes .../uvicorn/__pycache__/importer.cpython-311.pyc | Bin 2033 -> 0 bytes .../uvicorn/__pycache__/logging.cpython-311.pyc | Bin 8607 -> 0 bytes .../uvicorn/__pycache__/main.cpython-311.pyc | Bin 19857 -> 0 bytes .../uvicorn/__pycache__/server.cpython-311.pyc | Bin 16865 -> 0 bytes .../uvicorn/__pycache__/workers.cpython-311.pyc | Bin 6538 -> 0 bytes .../site-packages/uvicorn/_subprocess.py | 78 - .../lib/python3.11/site-packages/uvicorn/_types.py | 293 - .../lib/python3.11/site-packages/uvicorn/config.py | 528 - .../python3.11/site-packages/uvicorn/importer.py | 34 - .../site-packages/uvicorn/lifespan/__init__.py | 0 .../lifespan/__pycache__/__init__.cpython-311.pyc | Bin 200 -> 0 bytes .../lifespan/__pycache__/off.cpython-311.pyc | Bin 1155 -> 0 bytes .../lifespan/__pycache__/on.cpython-311.pyc | Bin 8386 -> 0 bytes .../site-packages/uvicorn/lifespan/off.py | 17 - .../site-packages/uvicorn/lifespan/on.py | 137 - .../python3.11/site-packages/uvicorn/logging.py | 117 - .../site-packages/uvicorn/loops/__init__.py | 0 .../loops/__pycache__/__init__.cpython-311.pyc | Bin 197 -> 0 bytes .../loops/__pycache__/asyncio.cpython-311.pyc | Bin 816 -> 0 bytes .../uvicorn/loops/__pycache__/auto.cpython-311.pyc | Bin 787 -> 0 bytes .../loops/__pycache__/uvloop.cpython-311.pyc | Bin 590 -> 0 bytes .../site-packages/uvicorn/loops/asyncio.py | 10 - .../python3.11/site-packages/uvicorn/loops/auto.py | 11 - .../site-packages/uvicorn/loops/uvloop.py | 7 - venv/lib/python3.11/site-packages/uvicorn/main.py | 584 - .../site-packages/uvicorn/middleware/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 202 -> 0 bytes .../middleware/__pycache__/asgi2.cpython-311.pyc | Bin 1219 -> 0 bytes .../__pycache__/message_logger.cpython-311.pyc | Bin 4905 -> 0 bytes .../__pycache__/proxy_headers.cpython-311.pyc | Bin 4331 -> 0 bytes .../middleware/__pycache__/wsgi.cpython-311.pyc | Bin 10902 -> 0 bytes .../site-packages/uvicorn/middleware/asgi2.py | 15 - .../uvicorn/middleware/message_logger.py | 87 - .../uvicorn/middleware/proxy_headers.py | 69 - .../site-packages/uvicorn/middleware/wsgi.py | 200 - .../site-packages/uvicorn/protocols/__init__.py | 0 .../protocols/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../protocols/__pycache__/utils.cpython-311.pyc | Bin 3585 -> 0 bytes .../uvicorn/protocols/http/__init__.py | 0 .../http/__pycache__/__init__.cpython-311.pyc | Bin 206 -> 0 bytes .../http/__pycache__/auto.cpython-311.pyc | Bin 705 -> 0 bytes .../http/__pycache__/flow_control.cpython-311.pyc | Bin 3410 -> 0 bytes .../http/__pycache__/h11_impl.cpython-311.pyc | Bin 27291 -> 0 bytes .../__pycache__/httptools_impl.cpython-311.pyc | Bin 30083 -> 0 bytes .../site-packages/uvicorn/protocols/http/auto.py | 15 - .../uvicorn/protocols/http/flow_control.py | 64 - .../uvicorn/protocols/http/h11_impl.py | 547 - .../uvicorn/protocols/http/httptools_impl.py | 575 - .../site-packages/uvicorn/protocols/utils.py | 57 - .../uvicorn/protocols/websockets/__init__.py | 0 .../__pycache__/__init__.cpython-311.pyc | Bin 212 -> 0 bytes .../websockets/__pycache__/auto.cpython-311.pyc | Bin 924 -> 0 bytes .../__pycache__/websockets_impl.cpython-311.pyc | Bin 22107 -> 0 bytes .../__pycache__/wsproto_impl.cpython-311.pyc | Bin 22222 -> 0 bytes .../uvicorn/protocols/websockets/auto.py | 21 - .../protocols/websockets/websockets_impl.py | 388 - .../uvicorn/protocols/websockets/wsproto_impl.py | 377 - venv/lib/python3.11/site-packages/uvicorn/py.typed | 1 - .../lib/python3.11/site-packages/uvicorn/server.py | 335 - .../site-packages/uvicorn/supervisors/__init__.py | 23 - .../__pycache__/__init__.cpython-311.pyc | Bin 1115 -> 0 bytes .../__pycache__/basereload.cpython-311.pyc | Bin 7329 -> 0 bytes .../__pycache__/multiprocess.cpython-311.pyc | Bin 4430 -> 0 bytes .../__pycache__/statreload.cpython-311.pyc | Bin 3238 -> 0 bytes .../__pycache__/watchfilesreload.cpython-311.pyc | Bin 5554 -> 0 bytes .../__pycache__/watchgodreload.cpython-311.pyc | Bin 8488 -> 0 bytes .../uvicorn/supervisors/basereload.py | 121 - .../uvicorn/supervisors/multiprocess.py | 70 - .../uvicorn/supervisors/statreload.py | 52 - .../uvicorn/supervisors/watchfilesreload.py | 88 - .../uvicorn/supervisors/watchgodreload.py | 152 - .../python3.11/site-packages/uvicorn/workers.py | 107 - .../uvloop-0.19.0.dist-info/INSTALLER | 1 - .../uvloop-0.19.0.dist-info/LICENSE-APACHE | 203 - .../uvloop-0.19.0.dist-info/LICENSE-MIT | 21 - .../site-packages/uvloop-0.19.0.dist-info/METADATA | 173 - .../site-packages/uvloop-0.19.0.dist-info/RECORD | 69 - .../site-packages/uvloop-0.19.0.dist-info/WHEEL | 6 - .../uvloop-0.19.0.dist-info/top_level.txt | 1 - .../python3.11/site-packages/uvloop/__init__.py | 168 - .../uvloop/__pycache__/__init__.cpython-311.pyc | Bin 7929 -> 0 bytes .../uvloop/__pycache__/_noop.cpython-311.pyc | Bin 366 -> 0 bytes .../uvloop/__pycache__/_testbase.cpython-311.pyc | Bin 31881 -> 0 bytes .../uvloop/__pycache__/_version.cpython-311.pyc | Bin 213 -> 0 bytes venv/lib/python3.11/site-packages/uvloop/_noop.py | 3 - .../python3.11/site-packages/uvloop/_testbase.py | 550 - .../python3.11/site-packages/uvloop/_version.py | 13 - .../python3.11/site-packages/uvloop/cbhandles.pxd | 39 - .../python3.11/site-packages/uvloop/cbhandles.pyx | 434 - venv/lib/python3.11/site-packages/uvloop/dns.pyx | 471 - .../lib/python3.11/site-packages/uvloop/errors.pyx | 113 - .../site-packages/uvloop/handles/async_.pxd | 11 - .../site-packages/uvloop/handles/async_.pyx | 56 - .../site-packages/uvloop/handles/basetransport.pxd | 54 - .../site-packages/uvloop/handles/basetransport.pyx | 293 - .../site-packages/uvloop/handles/check.pxd | 14 - .../site-packages/uvloop/handles/check.pyx | 72 - .../site-packages/uvloop/handles/fsevent.pxd | 12 - .../site-packages/uvloop/handles/fsevent.pyx | 116 - .../site-packages/uvloop/handles/handle.pxd | 48 - .../site-packages/uvloop/handles/handle.pyx | 395 - .../site-packages/uvloop/handles/idle.pxd | 14 - .../site-packages/uvloop/handles/idle.pyx | 72 - .../site-packages/uvloop/handles/pipe.pxd | 33 - .../site-packages/uvloop/handles/pipe.pyx | 226 - .../site-packages/uvloop/handles/poll.pxd | 25 - .../site-packages/uvloop/handles/poll.pyx | 233 - .../site-packages/uvloop/handles/process.pxd | 80 - .../site-packages/uvloop/handles/process.pyx | 792 - .../site-packages/uvloop/handles/stream.pxd | 50 - .../site-packages/uvloop/handles/stream.pyx | 1015 - .../site-packages/uvloop/handles/streamserver.pxd | 26 - .../site-packages/uvloop/handles/streamserver.pyx | 150 - .../site-packages/uvloop/handles/tcp.pxd | 26 - .../site-packages/uvloop/handles/tcp.pyx | 228 - .../site-packages/uvloop/handles/timer.pxd | 18 - .../site-packages/uvloop/handles/timer.pyx | 89 - .../site-packages/uvloop/handles/udp.pxd | 22 - .../site-packages/uvloop/handles/udp.pyx | 409 - .../site-packages/uvloop/includes/__init__.py | 23 - .../includes/__pycache__/__init__.cpython-311.pyc | Bin 749 -> 0 bytes .../site-packages/uvloop/includes/consts.pxi | 25 - .../site-packages/uvloop/includes/debug.pxd | 3 - .../site-packages/uvloop/includes/flowcontrol.pxd | 23 - .../site-packages/uvloop/includes/python.pxd | 31 - .../site-packages/uvloop/includes/stdlib.pxi | 175 - .../site-packages/uvloop/includes/system.pxd | 96 - .../site-packages/uvloop/includes/uv.pxd | 506 - .../uvloop/loop.cpython-311-x86_64-linux-gnu.so | Bin 11727344 -> 0 bytes venv/lib/python3.11/site-packages/uvloop/loop.pxd | 229 - venv/lib/python3.11/site-packages/uvloop/loop.pyi | 297 - venv/lib/python3.11/site-packages/uvloop/loop.pyx | 3403 - venv/lib/python3.11/site-packages/uvloop/lru.pyx | 79 - .../python3.11/site-packages/uvloop/pseudosock.pyx | 209 - venv/lib/python3.11/site-packages/uvloop/py.typed | 0 .../python3.11/site-packages/uvloop/request.pxd | 8 - .../python3.11/site-packages/uvloop/request.pyx | 65 - .../lib/python3.11/site-packages/uvloop/server.pxd | 19 - .../lib/python3.11/site-packages/uvloop/server.pyx | 136 - .../python3.11/site-packages/uvloop/sslproto.pxd | 138 - .../python3.11/site-packages/uvloop/sslproto.pyx | 950 - .../watchfiles-0.21.0.dist-info/INSTALLER | 1 - .../watchfiles-0.21.0.dist-info/METADATA | 151 - .../watchfiles-0.21.0.dist-info/RECORD | 24 - .../watchfiles-0.21.0.dist-info/WHEEL | 4 - .../watchfiles-0.21.0.dist-info/entry_points.txt | 2 - .../license_files/LICENSE | 21 - .../site-packages/watchfiles/__init__.py | 17 - .../site-packages/watchfiles/__main__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 631 -> 0 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 318 -> 0 bytes .../watchfiles/__pycache__/cli.cpython-311.pyc | Bin 11318 -> 0 bytes .../watchfiles/__pycache__/filters.cpython-311.pyc | Bin 8116 -> 0 bytes .../watchfiles/__pycache__/main.cpython-311.pyc | Bin 17664 -> 0 bytes .../watchfiles/__pycache__/run.cpython-311.pyc | Bin 21477 -> 0 bytes .../watchfiles/__pycache__/version.cpython-311.pyc | Bin 296 -> 0 bytes .../_rust_notify.cpython-311-x86_64-linux-gnu.so | Bin 5364528 -> 0 bytes .../site-packages/watchfiles/_rust_notify.pyi | 111 - .../lib/python3.11/site-packages/watchfiles/cli.py | 224 - .../python3.11/site-packages/watchfiles/filters.py | 150 - .../python3.11/site-packages/watchfiles/main.py | 344 - .../python3.11/site-packages/watchfiles/py.typed | 1 - .../lib/python3.11/site-packages/watchfiles/run.py | 441 - .../python3.11/site-packages/watchfiles/version.py | 5 - .../websockets-12.0.dist-info/INSTALLER | 1 - .../websockets-12.0.dist-info/LICENSE | 24 - .../websockets-12.0.dist-info/METADATA | 174 - .../site-packages/websockets-12.0.dist-info/RECORD | 85 - .../site-packages/websockets-12.0.dist-info/WHEEL | 8 - .../websockets-12.0.dist-info/top_level.txt | 1 - .../site-packages/websockets/__init__.py | 190 - .../site-packages/websockets/__main__.py | 159 - .../__pycache__/__init__.cpython-311.pyc | Bin 4103 -> 0 bytes .../__pycache__/__main__.cpython-311.pyc | Bin 6839 -> 0 bytes .../websockets/__pycache__/auth.cpython-311.pyc | Bin 341 -> 0 bytes .../websockets/__pycache__/client.cpython-311.pyc | Bin 16574 -> 0 bytes .../__pycache__/connection.cpython-311.pyc | Bin 621 -> 0 bytes .../__pycache__/datastructures.cpython-311.pyc | Bin 10164 -> 0 bytes .../__pycache__/exceptions.cpython-311.pyc | Bin 17210 -> 0 bytes .../websockets/__pycache__/frames.cpython-311.pyc | Bin 18126 -> 0 bytes .../websockets/__pycache__/headers.cpython-311.pyc | Bin 20147 -> 0 bytes .../websockets/__pycache__/http.cpython-311.pyc | Bin 994 -> 0 bytes .../websockets/__pycache__/http11.cpython-311.pyc | Bin 13972 -> 0 bytes .../websockets/__pycache__/imports.cpython-311.pyc | Bin 3903 -> 0 bytes .../__pycache__/protocol.cpython-311.pyc | Bin 24458 -> 0 bytes .../websockets/__pycache__/server.cpython-311.pyc | Bin 24729 -> 0 bytes .../websockets/__pycache__/streams.cpython-311.pyc | Bin 5744 -> 0 bytes .../websockets/__pycache__/typing.cpython-311.pyc | Bin 1255 -> 0 bytes .../websockets/__pycache__/uri.cpython-311.pyc | Bin 4483 -> 0 bytes .../websockets/__pycache__/utils.cpython-311.pyc | Bin 2472 -> 0 bytes .../websockets/__pycache__/version.cpython-311.pyc | Bin 2632 -> 0 bytes .../python3.11/site-packages/websockets/auth.py | 6 - .../python3.11/site-packages/websockets/client.py | 360 - .../site-packages/websockets/connection.py | 13 - .../site-packages/websockets/datastructures.py | 194 - .../site-packages/websockets/exceptions.py | 405 - .../websockets/extensions/__init__.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 324 -> 0 bytes .../extensions/__pycache__/base.cpython-311.pyc | Bin 4689 -> 0 bytes .../__pycache__/permessage_deflate.cpython-311.pyc | Bin 19873 -> 0 bytes .../site-packages/websockets/extensions/base.py | 133 - .../websockets/extensions/permessage_deflate.py | 660 - .../python3.11/site-packages/websockets/frames.py | 470 - .../python3.11/site-packages/websockets/headers.py | 587 - .../python3.11/site-packages/websockets/http.py | 35 - .../python3.11/site-packages/websockets/http11.py | 364 - .../python3.11/site-packages/websockets/imports.py | 99 - .../site-packages/websockets/legacy/__init__.py | 0 .../legacy/__pycache__/__init__.cpython-311.pyc | Bin 201 -> 0 bytes .../__pycache__/async_timeout.cpython-311.pyc | Bin 10608 -> 0 bytes .../legacy/__pycache__/auth.cpython-311.pyc | Bin 8251 -> 0 bytes .../legacy/__pycache__/client.cpython-311.pyc | Bin 28561 -> 0 bytes .../__pycache__/compatibility.cpython-311.pyc | Bin 544 -> 0 bytes .../legacy/__pycache__/framing.cpython-311.pyc | Bin 6960 -> 0 bytes .../legacy/__pycache__/handshake.cpython-311.pyc | Bin 7863 -> 0 bytes .../legacy/__pycache__/http.cpython-311.pyc | Bin 8261 -> 0 bytes .../legacy/__pycache__/protocol.cpython-311.pyc | Bin 65525 -> 0 bytes .../legacy/__pycache__/server.cpython-311.pyc | Bin 49251 -> 0 bytes .../websockets/legacy/async_timeout.py | 265 - .../site-packages/websockets/legacy/auth.py | 184 - .../site-packages/websockets/legacy/client.py | 705 - .../websockets/legacy/compatibility.py | 12 - .../site-packages/websockets/legacy/framing.py | 176 - .../site-packages/websockets/legacy/handshake.py | 165 - .../site-packages/websockets/legacy/http.py | 201 - .../site-packages/websockets/legacy/protocol.py | 1645 - .../site-packages/websockets/legacy/server.py | 1185 - .../site-packages/websockets/protocol.py | 708 - .../python3.11/site-packages/websockets/py.typed | 0 .../python3.11/site-packages/websockets/server.py | 580 - .../python3.11/site-packages/websockets/speedups.c | 223 - .../speedups.cpython-311-x86_64-linux-gnu.so | Bin 35480 -> 0 bytes .../python3.11/site-packages/websockets/streams.py | 151 - .../site-packages/websockets/sync/__init__.py | 0 .../sync/__pycache__/__init__.cpython-311.pyc | Bin 199 -> 0 bytes .../sync/__pycache__/client.cpython-311.pyc | Bin 13185 -> 0 bytes .../sync/__pycache__/connection.cpython-311.pyc | Bin 31271 -> 0 bytes .../sync/__pycache__/messages.cpython-311.pyc | Bin 10271 -> 0 bytes .../sync/__pycache__/server.cpython-311.pyc | Bin 21370 -> 0 bytes .../sync/__pycache__/utils.cpython-311.pyc | Bin 1898 -> 0 bytes .../site-packages/websockets/sync/client.py | 328 - .../site-packages/websockets/sync/connection.py | 773 - .../site-packages/websockets/sync/messages.py | 281 - .../site-packages/websockets/sync/server.py | 530 - .../site-packages/websockets/sync/utils.py | 46 - .../python3.11/site-packages/websockets/typing.py | 67 - .../lib/python3.11/site-packages/websockets/uri.py | 108 - .../python3.11/site-packages/websockets/utils.py | 51 - .../python3.11/site-packages/websockets/version.py | 82 - venv/lib/python3.11/site-packages/yaml/__init__.py | 390 - .../yaml/__pycache__/__init__.cpython-311.pyc | Bin 17235 -> 0 bytes .../yaml/__pycache__/composer.cpython-311.pyc | Bin 7074 -> 0 bytes .../yaml/__pycache__/constructor.cpython-311.pyc | Bin 38665 -> 0 bytes .../yaml/__pycache__/cyaml.cpython-311.pyc | Bin 5409 -> 0 bytes .../yaml/__pycache__/dumper.cpython-311.pyc | Bin 2876 -> 0 bytes .../yaml/__pycache__/emitter.cpython-311.pyc | Bin 53402 -> 0 bytes .../yaml/__pycache__/error.cpython-311.pyc | Bin 4268 -> 0 bytes .../yaml/__pycache__/events.cpython-311.pyc | Bin 5867 -> 0 bytes .../yaml/__pycache__/loader.cpython-311.pyc | Bin 4263 -> 0 bytes .../yaml/__pycache__/nodes.cpython-311.pyc | Bin 2539 -> 0 bytes .../yaml/__pycache__/parser.cpython-311.pyc | Bin 25772 -> 0 bytes .../yaml/__pycache__/reader.cpython-311.pyc | Bin 8942 -> 0 bytes .../yaml/__pycache__/representer.cpython-311.pyc | Bin 18372 -> 0 bytes .../yaml/__pycache__/resolver.cpython-311.pyc | Bin 9912 -> 0 bytes .../yaml/__pycache__/scanner.cpython-311.pyc | Bin 57126 -> 0 bytes .../yaml/__pycache__/serializer.cpython-311.pyc | Bin 6725 -> 0 bytes .../yaml/__pycache__/tokens.cpython-311.pyc | Bin 7262 -> 0 bytes .../yaml/_yaml.cpython-311-x86_64-linux-gnu.so | Bin 2504120 -> 0 bytes venv/lib/python3.11/site-packages/yaml/composer.py | 139 - .../python3.11/site-packages/yaml/constructor.py | 748 - venv/lib/python3.11/site-packages/yaml/cyaml.py | 101 - venv/lib/python3.11/site-packages/yaml/dumper.py | 62 - venv/lib/python3.11/site-packages/yaml/emitter.py | 1137 - venv/lib/python3.11/site-packages/yaml/error.py | 75 - venv/lib/python3.11/site-packages/yaml/events.py | 86 - venv/lib/python3.11/site-packages/yaml/loader.py | 63 - venv/lib/python3.11/site-packages/yaml/nodes.py | 49 - venv/lib/python3.11/site-packages/yaml/parser.py | 589 - venv/lib/python3.11/site-packages/yaml/reader.py | 185 - .../python3.11/site-packages/yaml/representer.py | 389 - venv/lib/python3.11/site-packages/yaml/resolver.py | 227 - venv/lib/python3.11/site-packages/yaml/scanner.py | 1435 - .../python3.11/site-packages/yaml/serializer.py | 111 - venv/lib/python3.11/site-packages/yaml/tokens.py | 104 - 6205 files changed, 1200898 deletions(-) delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/COPYING delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.BSD delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.PSF delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/LICENSE.txt delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/zip-safe delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/LICENSE.rst delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/LICENSE.rst delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/REQUESTED delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/__pycache__/six.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/_distutils_hack/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/_distutils_hack/override.py delete mode 100644 venv/lib/python3.11/site-packages/_yaml/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/_yaml/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__version__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__pycache__/context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__pycache__/cursor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/__version__.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/context.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/core.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/cursor.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/py.typed delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/perf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/smoke.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/perf.py delete mode 100644 venv/lib/python3.11/site-packages/aiosqlite/tests/smoke.py delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/anyio/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_backends/_trio.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_eventloop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_eventloop.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_fileio.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_resources.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_signals.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_sockets.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_streams.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_synchronization.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_tasks.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_testing.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/_core/_typedattr.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_eventloop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_tasks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_eventloop.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_resources.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_sockets.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_streams.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_tasks.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/abc/_testing.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/from_thread.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/lowlevel.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/py.typed delete mode 100644 venv/lib/python3.11/site-packages/anyio/pytest_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/stapled.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/__pycache__/tls.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/buffered.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/file.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/memory.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/stapled.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/text.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/streams/tls.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/to_process.py delete mode 100644 venv/lib/python3.11/site-packages/anyio/to_thread.py delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/certifi/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/certifi/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/certifi/cacert.pem delete mode 100644 venv/lib/python3.11/site-packages/certifi/core.py delete mode 100644 venv/lib/python3.11/site-packages/certifi/py.typed delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/LICENSE.rst delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/click-8.1.7.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/click/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/_termui_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/_textwrap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/_winconsole.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/decorators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/formatting.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/globals.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/shell_completion.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/termui.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/click/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/click/_termui_impl.py delete mode 100644 venv/lib/python3.11/site-packages/click/_textwrap.py delete mode 100644 venv/lib/python3.11/site-packages/click/_winconsole.py delete mode 100644 venv/lib/python3.11/site-packages/click/core.py delete mode 100644 venv/lib/python3.11/site-packages/click/decorators.py delete mode 100644 venv/lib/python3.11/site-packages/click/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/click/formatting.py delete mode 100644 venv/lib/python3.11/site-packages/click/globals.py delete mode 100644 venv/lib/python3.11/site-packages/click/parser.py delete mode 100644 venv/lib/python3.11/site-packages/click/py.typed delete mode 100644 venv/lib/python3.11/site-packages/click/shell_completion.py delete mode 100644 venv/lib/python3.11/site-packages/click/termui.py delete mode 100644 venv/lib/python3.11/site-packages/click/testing.py delete mode 100644 venv/lib/python3.11/site-packages/click/types.py delete mode 100644 venv/lib/python3.11/site-packages/click/utils.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/_common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/easter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/relativedelta.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/rrule.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/tzwin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/_common.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/_version.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/easter.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/_parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/isoparser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/_parser.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/parser/isoparser.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/relativedelta.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/rrule.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_factories.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/tz.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/win.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/_common.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/_factories.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/tz.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tz/win.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/tzwin.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/utils.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/zoneinfo/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz delete mode 100644 venv/lib/python3.11/site-packages/dateutil/zoneinfo/rebuild.py delete mode 100644 venv/lib/python3.11/site-packages/distutils-precedence.pth delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/cli.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/ipython.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/variables.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/dotenv/cli.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/ipython.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/main.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/parser.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/py.typed delete mode 100644 venv/lib/python3.11/site-packages/dotenv/variables.py delete mode 100644 venv/lib/python3.11/site-packages/dotenv/version.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/fnmatch.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/handler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/ini.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/__pycache__/versiontools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/compat.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/fnmatch.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/handler.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/ini.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/version.py delete mode 100644 venv/lib/python3.11/site-packages/editorconfig/versiontools.py delete mode 100644 venv/lib/python3.11/site-packages/faker/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/cli.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/documentor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/generator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/__pycache__/typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/cli.py delete mode 100644 venv/lib/python3.11/site-packages/faker/config.py delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/pytest/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/pytest/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/pytest/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/contrib/pytest/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/faker/decode/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/decode/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/decode/__pycache__/codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/decode/codes.py delete mode 100644 venv/lib/python3.11/site-packages/faker/documentor.py delete mode 100644 venv/lib/python3.11/site-packages/faker/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/faker/factory.py delete mode 100644 venv/lib/python3.11/site-packages/faker/generator.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_AU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_AU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_NZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_NZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hi_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hi_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ka_GE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ka_GE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ne_NP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ne_NP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ta_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/ta_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/th/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/th/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/address/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_BH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_BH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_JO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_JO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_PS/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_PS/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_SA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ar_SA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/de_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/de_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_NZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_NZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/et_EE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/et_EE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/lt_LT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/lt_LT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sq_AL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sq_AL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/vi_VN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/vi_VN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/automotive/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/fr_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/fr_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/barcode/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/__pycache__/color.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/ar_PS/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/ar_PS/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/color.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/color/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/company/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/credit_card/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_AU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_AU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fr_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fr_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/currency/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ar_AA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ar_AA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ar_EG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ar_EG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fr_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fr_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hi_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hi_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ta_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/ta_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/date_time/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/emoji/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/emoji/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/emoji/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/emoji/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/file/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/file/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/file/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/file/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/en_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/en_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/geo/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ar_AA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ar_AA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bs_BA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/bs_BA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_AU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_AU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_NZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_NZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/internet/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/__pycache__/isbn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/__pycache__/rules.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/isbn.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/isbn/rules.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ar_AA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ar_AA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/bs_BA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/bs_BA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/job/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ar_AA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ar_AA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/la/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/la/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/lorem/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/misc/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/passport/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/passport/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/passport/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/passport/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_AA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_AA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_PS/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_PS/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_SA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ar_SA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_NZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_NZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/et_EE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/et_EE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_QC/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/fr_QC/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ga_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ga_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hi_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hi_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ka_GE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ka_GE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/lt_LT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/lt_LT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/lv_LV/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/lv_LV/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ne_NP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ne_NP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/or_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/or_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ta_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/ta_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/tw_GH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/tw_GH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zu_ZA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/person/zu_ZA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/profile/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/profile/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/profile/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/profile/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/python/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/python/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/python/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/python/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/__pycache__/rules.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/__pycache__/sbn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/rules.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/sbn/sbn.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/az_AZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/az_AZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/bg_BG/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/bg_BG/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/bn_BD/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/bn_BD/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/cs_CZ/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/cs_CZ/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_AT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_AT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_DE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/de_DE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/dk_DK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/dk_DK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/el_CY/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/el_CY/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/el_GR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/el_GR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_GB/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_GB/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_IE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_IE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_IN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_IN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_CO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_ES/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_ES/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_MX/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/es_MX/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/et_EE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/et_EE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fi_FI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fi_FI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fil_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fil_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fr_CH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fr_CH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fr_FR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/fr_FR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/he_IL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/he_IL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/hr_HR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/hr_HR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/hu_HU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/hu_HU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/it_IT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/it_IT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ko_KR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ko_KR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lb_LU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lb_LU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lt_LT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lt_LT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lv_LV/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/lv_LV/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/mt_MT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/mt_MT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/nl_BE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/nl_BE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/nl_NL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/nl_NL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/no_NO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/no_NO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pl_PL/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pl_PL/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pt_BR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pt_BR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pt_PT/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/pt_PT/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ro_RO/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ro_RO/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ru_RU/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/ru_RU/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sl_SI/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sl_SI/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sv_SE/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/sv_SE/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/th_TH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/th_TH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/tl_PH/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/tl_PH/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/tr_TR/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/tr_TR/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/uk_UA/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/uk_UA/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/zh_CN/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/zh_CN/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/zh_TW/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/ssn/zh_TW/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/user_agent/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/user_agent/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/user_agent/en_US/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/providers/user_agent/en_US/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/proxy.py delete mode 100644 venv/lib/python3.11/site-packages/faker/py.typed delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__pycache__/autodoc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__pycache__/docstring.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__pycache__/documentor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/__pycache__/validator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/autodoc.py delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/docstring.py delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/documentor.py delete mode 100644 venv/lib/python3.11/site-packages/faker/sphinx/validator.py delete mode 100644 venv/lib/python3.11/site-packages/faker/typing.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/checksums.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/datasets.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/decorators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/distribution.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/loading.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/checksums.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/datasets.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/decorators.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/distribution.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/loading.py delete mode 100644 venv/lib/python3.11/site-packages/faker/utils/text.py delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers-1.0.3.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers-1.0.3.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers-1.0.3.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers-1.0.3.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers-1.0.3.dist-info/license_files/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers/__init__.pyi delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers/__pycache__/__init__.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/fast_query_parsers/fast_query_parsers.abi3.so delete mode 100644 venv/lib/python3.11/site-packages/fast_query_parsers/py.typed delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/AUTHORS delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/LICENSE.PSF delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/greenlet-3.0.3.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TBrokenGreenlet.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TExceptionState.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TGreenlet.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TGreenletGlobals.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TMainGreenlet.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TPythonState.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TStackState.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TThreadStateDestroy.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/TUserGreenlet.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/__pycache__/__init__.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/greenlet/_greenlet.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet.cpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_allocator.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_compiler_compat.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_cpython_add_pending.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_cpython_compat.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_exceptions.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_greenlet.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_internal.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_refs.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_slp_switch.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_thread_state.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_thread_state_dict_cleanup.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/greenlet_thread_support.hpp delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/setup_switch_x64_masm.cmd delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_aarch64_gcc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_alpha_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_amd64_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_arm32_gcc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_arm32_ios.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_arm64_masm.asm delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_arm64_masm.obj delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_arm64_msvc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_csky_gcc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_loongarch64_linux.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_m68k_gcc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_mips_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc64_aix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc64_linux.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc_aix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc_linux.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc_macosx.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_ppc_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_riscv_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_s390_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_sparc_sun_gcc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x32_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x64_masm.asm delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x64_masm.obj delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x64_msvc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x86_msvc.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/platform/switch_x86_unix.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/slp_platformselect.h delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_clearing_run_switches.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_cpp_exception.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_initialstub_already_started.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_slp_switch.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_switch_three_greenlets.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_switch_three_greenlets2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/fail_switch_two_greenlets.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/leakcheck.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_contextvars.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_cpp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_extension_interface.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_gc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_generator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_generator_nested.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_greenlet.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_greenlet_trash.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_leaks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_stack_saved.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_throw.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_tracing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/__pycache__/test_weakref.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/_test_extension.c delete mode 100755 venv/lib/python3.11/site-packages/greenlet/tests/_test_extension.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/_test_extension_cpp.cpp delete mode 100755 venv/lib/python3.11/site-packages/greenlet/tests/_test_extension_cpp.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_clearing_run_switches.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_cpp_exception.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_initialstub_already_started.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_slp_switch.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_switch_three_greenlets.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_switch_three_greenlets2.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/fail_switch_two_greenlets.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/leakcheck.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_contextvars.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_cpp.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_extension_interface.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_gc.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_generator.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_generator_nested.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_greenlet.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_greenlet_trash.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_leaks.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_stack_saved.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_throw.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_tracing.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_version.py delete mode 100644 venv/lib/python3.11/site-packages/greenlet/tests/test_weakref.py delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/LICENSE.txt delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/h11-0.14.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/h11/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_abnf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_readers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_receivebuffer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_state.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/__pycache__/_writers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/_abnf.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_connection.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_events.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_headers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_readers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_receivebuffer.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_state.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_util.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_version.py delete mode 100644 venv/lib/python3.11/site-packages/h11/_writers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/py.typed delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_against_stdlib_http.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_io.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_receivebuffer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_state.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/__pycache__/test_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/data/test-file delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_against_stdlib_http.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_connection.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_events.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_headers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_helpers.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_io.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_receivebuffer.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_state.py delete mode 100644 venv/lib/python3.11/site-packages/h11/tests/test_util.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore-1.0.5.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/httpcore-1.0.5.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/httpcore-1.0.5.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/httpcore-1.0.5.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/httpcore-1.0.5.dist-info/licenses/LICENSE.md delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_models.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_ssl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_synchronization.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_trace.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_api.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/connection_pool.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http11.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/http_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/interfaces.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/__pycache__/socks_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/connection.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/connection_pool.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/http11.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/http2.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/http_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/interfaces.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_async/socks_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/anyio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/auto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/mock.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/__pycache__/trio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/anyio.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/auto.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/base.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/mock.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/sync.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_backends/trio.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_models.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_ssl.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/connection_pool.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http11.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/http_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/interfaces.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/__pycache__/socks_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/connection.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/connection_pool.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/http11.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/http2.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/http_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/interfaces.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_sync/socks_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_synchronization.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_trace.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/httpcore/py.typed delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/httptools-0.6.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/httptools/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httptools/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httptools/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httptools/_version.py delete mode 100644 venv/lib/python3.11/site-packages/httptools/parser/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httptools/parser/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httptools/parser/__pycache__/errors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httptools/parser/errors.py delete mode 100755 venv/lib/python3.11/site-packages/httptools/parser/parser.cpython-311-x86_64-linux-gnu.so delete mode 100755 venv/lib/python3.11/site-packages/httptools/parser/url_parser.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/httpx-0.27.0.dist-info/licenses/LICENSE.md delete mode 100644 venv/lib/python3.11/site-packages/httpx/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/__version__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_content.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_decoders.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_models.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_multipart.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_status_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_urlparse.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_urls.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/__version__.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_api.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_auth.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_client.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_config.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_content.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_decoders.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_main.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_models.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_multipart.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_status_codes.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/asgi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/default.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/mock.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/__pycache__/wsgi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/asgi.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/base.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/default.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/mock.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_transports/wsgi.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_types.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_urlparse.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_urls.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/httpx/py.typed delete mode 100644 venv/lib/python3.11/site-packages/idna-3.6.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/idna-3.6.dist-info/LICENSE.md delete mode 100644 venv/lib/python3.11/site-packages/idna-3.6.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/idna-3.6.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/idna-3.6.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/idna/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/codec.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/idnadata.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/intranges.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/package_data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/__pycache__/uts46data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/idna/codec.py delete mode 100644 venv/lib/python3.11/site-packages/idna/compat.py delete mode 100644 venv/lib/python3.11/site-packages/idna/core.py delete mode 100644 venv/lib/python3.11/site-packages/idna/idnadata.py delete mode 100644 venv/lib/python3.11/site-packages/idna/intranges.py delete mode 100644 venv/lib/python3.11/site-packages/idna/package_data.py delete mode 100644 venv/lib/python3.11/site-packages/idna/py.typed delete mode 100644 venv/lib/python3.11/site-packages/idna/uts46data.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/_identifier.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/async_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/bccache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/compiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/constants.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/debug.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/defaults.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/environment.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/ext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/filters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/idtracking.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/lexer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/loaders.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/meta.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/nativetypes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/nodes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/optimizer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/runtime.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/sandbox.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/tests.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/__pycache__/visitor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jinja2/_identifier.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/async_utils.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/bccache.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/compiler.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/constants.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/debug.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/defaults.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/environment.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/ext.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/filters.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/idtracking.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/lexer.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/loaders.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/meta.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/nativetypes.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/nodes.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/optimizer.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/parser.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/py.typed delete mode 100644 venv/lib/python3.11/site-packages/jinja2/runtime.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/sandbox.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/tests.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/utils.py delete mode 100644 venv/lib/python3.11/site-packages/jinja2/visitor.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier-1.15.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/__pycache__/__version__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/__version__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/cli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/cli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/directives.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/inputscanner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/options.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/output.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/pattern.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/templatablepattern.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/tokenizer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/tokenstream.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/__pycache__/whitespacepattern.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/directives.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/inputscanner.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/options.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/output.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/pattern.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/templatablepattern.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/token.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/tokenizer.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/tokenstream.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/core/whitespacepattern.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__pycache__/acorn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__pycache__/beautifier.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__pycache__/options.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/__pycache__/tokenizer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/acorn.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/beautifier.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/options.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/javascript/tokenizer.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/__pycache__/testindentation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/generated/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/generated/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/generated/__pycache__/tests.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/generated/tests.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/tests/testindentation.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/evalbased.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/javascriptobfuscator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/myobfuscate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/packer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/__pycache__/urlencode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/evalbased.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/javascriptobfuscator.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/myobfuscate.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/packer.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__pycache__/testjavascriptobfuscator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__pycache__/testmyobfuscate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__pycache__/testpacker.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/__pycache__/testurlencode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testjavascriptobfuscator.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testmyobfuscate.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testpacker.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/tests/testurlencode.py delete mode 100644 venv/lib/python3.11/site-packages/jsbeautifier/unpackers/urlencode.py delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/REQUESTED delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/litestar-2.7.1.dist-info/licenses/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/litestar/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/_multipart.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/_parsers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/app.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/background_tasks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/concurrency.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/constants.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/controller.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/data_extractors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/di.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/enums.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/file_system.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/pagination.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/params.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/router.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/status_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/__pycache__/typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/__pycache__/asgi_router.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/asgi_router.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__pycache__/mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__pycache__/traversal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/__pycache__/validate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/mapping.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/traversal.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/routing_trie/validate.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_asgi/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/cleanup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/dependencies.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/extractors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/kwargs_model.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/__pycache__/parameter_definition.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/cleanup.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/dependencies.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/extractors.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/kwargs_model.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_kwargs/parameter_definition.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_layers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_layers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_layers/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_layers/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_multipart.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/datastructures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/parameters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/path_item.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/request_body.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/responses.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/datastructures.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/parameters.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/path_item.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/request_body.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/responses.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__pycache__/constrained_fields.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__pycache__/examples.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/constrained_fields.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/examples.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__pycache__/dataclass.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__pycache__/pagination.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__pycache__/struct.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/__pycache__/typed_dict.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/dataclass.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/pagination.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/struct.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/plugins/typed_dict.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/schema.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/schema_generation/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/__pycache__/converter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/__pycache__/schema_parsing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/converter.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/schema_parsing.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/typescript_converter/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_openapi/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_parsers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/__pycache__/model.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/model.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/_signature/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/app.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/background_tasks.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/__pycache__/subscriber.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/asyncpg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/memory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/psycopg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/__pycache__/redis.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/_redis_flushall_streams.lua delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/_redis_pubsub_publish.lua delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/_redis_xadd_expire.lua delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/asyncpg.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/memory.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/psycopg.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/backends/redis.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/channels/subscriber.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/__pycache__/sessions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/core.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/schema.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/commands/sessions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/cli/main.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/concurrency.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/allowed_hosts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/app.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/compression.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/cors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/csrf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/__pycache__/response_cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/app.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/compression.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/cors.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/csrf.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/config/response_cache.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/__pycache__/request.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/__pycache__/websocket.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/request.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/connection/websocket.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/constants.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/jinja.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/mako.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/minijinja.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/minijnja.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/__pycache__/piccolo.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/attrs/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/attrs/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/attrs/__pycache__/attrs_schema_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/attrs/attrs_schema_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__pycache__/request.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__pycache__/response.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/request.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/response.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/htmx/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jinja.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/__pycache__/jwt_auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/__pycache__/jwt_token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/jwt_auth.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/jwt_token.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/jwt/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/mako.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/minijinja.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/minijnja.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/opentelemetry/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/piccolo.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/__pycache__/controller.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/controller.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/prometheus/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/pydantic_di_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/pydantic_dto_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/pydantic_init_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/pydantic_schema_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_di_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_dto_factory.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_init_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/pydantic_schema_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/pydantic/utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__pycache__/filters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__pycache__/handlers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/abc/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/abc/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/filters.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/handlers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/repository/testing.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/__pycache__/dto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/dto.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/__pycache__/serialization.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/engine.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/__pycache__/sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/common.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/compat.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/engine.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/config/sync.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/init/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/plugins/serialization.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__pycache__/_async.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__pycache__/_sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__pycache__/_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/_async.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/_sync.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/_util.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/repository/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/contrib/sqlalchemy/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/controller.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/data_extractors.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/cookie.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/multi_dicts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/response_header.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/state.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/upload_file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/__pycache__/url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/cookie.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/headers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/multi_dicts.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/response_header.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/state.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/upload_file.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/datastructures/url.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/di.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/_backend.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/_codegen_backend.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/base_dto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/data_structures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/dataclass_dto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/field.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/msgspec_dto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/_backend.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/_codegen_backend.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/base_dto.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/data_structures.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/dataclass_dto.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/field.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/msgspec_dto.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/dto/types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/enums.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/__pycache__/emitter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/__pycache__/listener.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/emitter.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/events/listener.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__pycache__/base_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__pycache__/dto_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__pycache__/http_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/__pycache__/websocket_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/base_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/dto_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/http_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/exceptions/websocket_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/file_system.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/__pycache__/asgi_handlers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/asgi_handlers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/__pycache__/decorators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/http_handlers/decorators.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/__pycache__/listener.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/__pycache__/route_handler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/listener.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/handlers/websocket_handlers/route_handler.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__pycache__/picologging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/__pycache__/standard.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/picologging.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/logging/standard.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/allowed_hosts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/authentication.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/cors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/csrf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/rate_limit.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/__pycache__/response_cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/allowed_hosts.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/authentication.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__pycache__/brotli_facade.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__pycache__/facade.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__pycache__/gzip_facade.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/brotli_facade.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/facade.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/gzip_facade.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/compression/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/cors.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/csrf.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/__pycache__/_debug_response.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/_debug_response.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/templates/body.html delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/templates/frame.html delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/templates/scripts.js delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/exceptions/templates/styles.css delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/logging.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/rate_limit.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/response_cache.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/__pycache__/client_side.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/__pycache__/server_side.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/client_side.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/middleware/session/server_side.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/__pycache__/controller.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/__pycache__/datastructures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/controller.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/datastructures.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/callback.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/components.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/contact.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/discriminator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/encoding.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/enums.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/example.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/external_documentation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/header.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/info.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/license.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/link.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/media_type.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/oauth_flow.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/oauth_flows.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/open_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/operation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/parameter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/path_item.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/paths.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/reference.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/request_body.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/response.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/responses.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/security_requirement.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/security_scheme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/server.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/server_variable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/tag.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/__pycache__/xml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/callback.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/components.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/contact.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/discriminator.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/encoding.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/enums.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/example.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/external_documentation.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/header.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/info.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/license.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/link.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/media_type.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/oauth_flow.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/oauth_flows.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/open_api.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/operation.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/parameter.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/path_item.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/paths.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/reference.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/request_body.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/response.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/responses.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/schema.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/security_requirement.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/security_scheme.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/server.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/server_variable.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/tag.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/openapi/spec/xml.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/pagination.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/params.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__pycache__/sqlalchemy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/__pycache__/structlog.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/core.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/sqlalchemy.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/plugins/structlog.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/py.typed delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/_filters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/filters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/__pycache__/handlers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/_filters.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/__pycache__/_async.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/__pycache__/_sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/_async.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/abc/_sync.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/filters.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/handlers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/testing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/testing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/testing/__pycache__/generic_mock_repository.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/repository/testing/generic_mock_repository.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/redirect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/sse.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/streaming.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/__pycache__/template.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/file.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/redirect.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/sse.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/streaming.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/response/template.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/router.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__pycache__/asgi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__pycache__/http.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/__pycache__/websocket.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/asgi.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/http.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/routes/websocket.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/__pycache__/token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/auth.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/jwt/token.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/__pycache__/middleware.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/auth.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/security/session_auth/middleware.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/serialization/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/serialization/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/serialization/__pycache__/msgspec_hooks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/serialization/msgspec_hooks.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/static_files/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/status_codes.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/memory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/redis.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/__pycache__/registry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/file.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/memory.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/redis.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/stores/registry.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/template/config.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/life_span_handler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/request_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/transport.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/__pycache__/websocket_test_session.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/__pycache__/async_client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/__pycache__/sync_client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/async_client.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/base.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/client/sync_client.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/life_span_handler.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/request_factory.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/transport.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/testing/websocket_test_session.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/asgi_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/builtin_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/callable_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/composite_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/empty.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/file_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/helper_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/internal_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/protocols.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/__pycache__/serialization.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/asgi_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/builtin_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/callable_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/composite_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/empty.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/file_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/helper_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/internal_types.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/protocols.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/types/serialization.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/typing.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/dataclass.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/deprecation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/empty.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/module_loader.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/path.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/predicates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/sequence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/signature.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/__pycache__/warnings.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/compat.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/dataclass.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/deprecation.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/empty.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/module_loader.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/path.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/predicates.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/scope/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/scope/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/scope/__pycache__/state.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/scope/state.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/sequence.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/signature.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/sync.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/typing.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/version.py delete mode 100644 venv/lib/python3.11/site-packages/litestar/utils/warnings.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/_punycode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/parser_block.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/parser_core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/parser_inline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/renderer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/ruler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/tree.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/_punycode.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/cli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/cli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/cli/__pycache__/parse.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/cli/parse.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/entities.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/html_blocks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/html_re.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/normalize_url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/entities.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/html_blocks.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/html_re.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/normalize_url.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/common/utils.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/__pycache__/parse_link_destination.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/__pycache__/parse_link_label.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/__pycache__/parse_link_title.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/parse_link_destination.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/parse_link_label.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/helpers/parse_link_title.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/main.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/parser_block.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/parser_core.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/parser_inline.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/port.yaml delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/__pycache__/commonmark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/__pycache__/default.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/__pycache__/zero.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/commonmark.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/default.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/presets/zero.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/py.typed delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/renderer.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/ruler.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/blockquote.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/code.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/fence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/heading.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/hr.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/html_block.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/lheading.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/list.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/paragraph.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/reference.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/state_block.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/__pycache__/table.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/blockquote.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/code.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/fence.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/heading.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/hr.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/html_block.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/lheading.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/list.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/paragraph.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/reference.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/state_block.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_block/table.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/block.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/inline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/linkify.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/normalize.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/replacements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/smartquotes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/state_core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/__pycache__/text_join.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/block.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/inline.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/linkify.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/normalize.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/replacements.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/smartquotes.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/state_core.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_core/text_join.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/autolink.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/backticks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/balance_pairs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/emphasis.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/entity.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/escape.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/fragments_join.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/html_inline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/image.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/link.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/linkify.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/newline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/state_inline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/strikethrough.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/autolink.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/backticks.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/balance_pairs.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/emphasis.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/entity.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/escape.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/fragments_join.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/html_inline.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/image.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/link.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/linkify.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/newline.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/state_inline.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/strikethrough.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/rules_inline/text.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/token.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/tree.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it/utils.py delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/LICENSE.markdown-it delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/markdown_it_py-3.0.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/__pycache__/_native.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/_native.py delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/_speedups.c delete mode 100755 venv/lib/python3.11/site-packages/markupsafe/_speedups.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/_speedups.pyi delete mode 100644 venv/lib/python3.11/site-packages/markupsafe/py.typed delete mode 100644 venv/lib/python3.11/site-packages/mdurl-0.1.2.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/mdurl-0.1.2.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/mdurl-0.1.2.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/mdurl-0.1.2.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/mdurl-0.1.2.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/_decode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/_encode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/_format.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/_parse.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/__pycache__/_url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/mdurl/_decode.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/_encode.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/_format.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/_parse.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/_url.py delete mode 100644 venv/lib/python3.11/site-packages/mdurl/py.typed delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/msgspec-0.18.6.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__init__.pyi delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/_json_schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/inspect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/msgpack.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/structs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/toml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/msgspec/__pycache__/yaml.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/msgspec/_core.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/msgspec/_json_schema.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/_version.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/inspect.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/json.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/json.pyi delete mode 100644 venv/lib/python3.11/site-packages/msgspec/msgpack.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/msgpack.pyi delete mode 100644 venv/lib/python3.11/site-packages/msgspec/py.typed delete mode 100644 venv/lib/python3.11/site-packages/msgspec/structs.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/structs.pyi delete mode 100644 venv/lib/python3.11/site-packages/msgspec/toml.py delete mode 100644 venv/lib/python3.11/site-packages/msgspec/yaml.py delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/multidict-6.0.5.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/multidict/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/multidict/__init__.pyi delete mode 100644 venv/lib/python3.11/site-packages/multidict/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/multidict/__pycache__/_abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/multidict/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/multidict/__pycache__/_multidict_base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/multidict/__pycache__/_multidict_py.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/multidict/_abc.py delete mode 100644 venv/lib/python3.11/site-packages/multidict/_compat.py delete mode 100755 venv/lib/python3.11/site-packages/multidict/_multidict.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/multidict/_multidict_base.py delete mode 100644 venv/lib/python3.11/site-packages/multidict/_multidict_py.py delete mode 100644 venv/lib/python3.11/site-packages/multidict/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/AUTHORS.txt delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/LICENSE.txt delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/REQUESTED delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/pip-24.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/pip/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/__pip-runner__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/__pycache__/__pip-runner__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/build_env.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/configuration.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/pyproject.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/build_env.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/base_command.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/cmdoptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/command_context.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/main.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/main_parser.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/parser.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/progress_bars.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/req_command.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/spinners.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/cli/status_codes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/check.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/completion.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/debug.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/download.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/hash.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/help.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/index.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/install.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/list.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/search.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/show.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/check.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/completion.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/configuration.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/debug.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/download.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/freeze.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/hash.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/help.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/index.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/inspect.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/install.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/list.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/search.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/show.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/uninstall.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/commands/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/configuration.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/base.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/installed.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/sdist.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/distributions/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/collector.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/__pycache__/sources.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/collector.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/package_finder.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/index/sources.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/_distutils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/_sysconfig.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/locations/base.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/main.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/_json.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/base.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_dists.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/importlib/_envs.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/metadata/pkg_resources.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/candidate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/format_control.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/index.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/link.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/scheme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/target_python.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/candidate.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/direct_url.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/format_control.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/index.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/installation_report.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/link.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/scheme.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/search_scope.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/selection_prefs.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/target_python.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/models/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/download.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/session.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/auth.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/download.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/lazy_wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/session.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/network/xmlrpc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/check.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/build_tracker.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata_editable.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/metadata_legacy.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel_editable.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel_legacy.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/check.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/freeze.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/editable_legacy.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/install/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/operations/prepare.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/pyproject.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/constructors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_install.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_set.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/constructors.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/req_file.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/req_install.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/req_set.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/req/req_uninstall.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/base.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/legacy/resolver.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/base.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/candidates.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/factory.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/provider.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/reporter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/requirements.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/resolution/resolvelib/resolver.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/self_outdated_check.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/_log.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/misc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/models.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/urls.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/_jaraco_text.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/_log.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/appdirs.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/compatibility_tags.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/datetime.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/deprecation.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/direct_url_helpers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/egg_link.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/encoding.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/entrypoints.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/filesystem.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/filetypes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/glibc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/hashes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/logging.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/misc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/models.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/packaging.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/setuptools_build.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/subprocess.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/temp_dir.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/unpacking.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/urls.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/virtualenv.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/utils/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/git.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/bazaar.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/git.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/mercurial.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/subversion.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/vcs/versioncontrol.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_internal/wheel_builder.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/__pycache__/six.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/_cmd.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/adapter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/controller.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/filewrapper.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/heuristics.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/serialize.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/cachecontrol/wrapper.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/core.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/certifi/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachinedict.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/johabfreq.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/johabprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/macromanprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/resultdict.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/utf1632prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/big5freq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/big5prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/chardistribution.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/charsetgroupprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/charsetprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/cli/chardetect.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/codingstatemachine.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/codingstatemachinedict.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/cp949prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/enums.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/escprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/escsm.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/eucjpprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/euckrfreq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/euckrprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/euctwfreq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/euctwprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/gb2312freq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/gb2312prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/hebrewprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/jisfreq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/johabfreq.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/johabprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/jpcntx.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langbulgarianmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langgreekmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langhebrewmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langhungarianmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langrussianmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langthaimodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/langturkishmodel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/latin1prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/macromanprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcharsetprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcsgroupprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/mbcssm.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/metadata/languages.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/resultdict.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/sbcharsetprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/sbcsgroupprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/sjisprober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/universaldetector.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/utf1632prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/utf8prober.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/chardet/version.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/ansi.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/ansitowin32.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/initialise.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/ansi_test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/ansitowin32_test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/initialise_test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/isatty_test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/__pycache__/winterm_test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/ansi_test.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/ansitowin32_test.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/initialise_test.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/isatty_test.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/tests/winterm_test.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/win32.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/colorama/winterm.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/database.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/index.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/locators.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/manifest.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/markers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/metadata.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/resources.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/scripts.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/t32.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/t64-arm.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/t64.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/util.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/version.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/w32.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/w64-arm.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/w64.exe delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distlib/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/distro.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/distro/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/codec.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/core.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/idnadata.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/intranges.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/package_data.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/idna/uts46data.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/ext.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/msgpack/fallback.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__about__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/_manylinux.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/_musllinux.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/_structures.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/markers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/requirements.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/specifiers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/tags.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/packaging/version.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/android.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/api.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/macos.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/unix.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/version.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/platformdirs/windows.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/cmdline.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/console.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/filter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/_mapping.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/bbcode.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/groff.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/html.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/img.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/irc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/latex.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/other.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/rtf.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/svg.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/terminal.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/formatters/terminal256.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexer.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/_mapping.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/lexers/python.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/modeline.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/regexopt.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/scanner.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/sphinxext.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/style.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/styles/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/token.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/unistring.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pygments/util.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/results.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/actions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/common.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/core.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/results.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/testing.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/unicode.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyparsing/util.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_impl.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/help.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/models.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/__version__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/_internal_utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/adapters.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/api.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/auth.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/certs.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/compat.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/cookies.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/help.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/hooks.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/models.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/packages.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/sessions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/status_codes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/structures.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/requests/utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/providers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/reporters.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/resolvelib/structs.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/align.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/box.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/color.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/control.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/live.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/region.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/status.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/style.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/table.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_cell_widths.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_emoji_codes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_emoji_replace.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_export_format.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_extension.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_fileno.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_inspect.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_log_render.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_loop.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_null_file.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_palettes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_pick.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_ratio.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_spinners.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_stack.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_timer.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_win32_console.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_windows.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_windows_renderer.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/_wrap.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/abc.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/align.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/ansi.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/bar.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/box.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/cells.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/color.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/color_triplet.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/columns.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/console.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/constrain.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/containers.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/control.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/default_styles.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/diagnose.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/emoji.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/errors.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/file_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/filesize.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/highlighter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/json.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/jupyter.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/layout.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/live.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/live_render.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/logging.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/markup.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/measure.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/padding.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/pager.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/palette.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/panel.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/pretty.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/progress.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/progress_bar.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/prompt.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/protocol.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/region.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/repr.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/rule.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/scope.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/screen.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/segment.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/spinner.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/status.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/style.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/styled.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/syntax.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/table.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/terminal_theme.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/text.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/theme.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/themes.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/traceback.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/rich/tree.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/six.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/_asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/after.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/before.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/before_sleep.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/nap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/retry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/stop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/tornadoweb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/__pycache__/wait.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/_asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/_utils.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/after.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/before.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/before_sleep.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/nap.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/retry.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/stop.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/tornadoweb.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tenacity/wait.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/_parser.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/_re.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/_types.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/tomli/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/_api.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/_macos.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/_openssl.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/_ssl_constants.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/_windows.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/truststore/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/typing_extensions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/_collections.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/_version.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/connection.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/connectionpool.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/appengine.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/securetransport.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/contrib/socks.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/fields.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/filepost.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/packages/six.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/poolmanager.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/request.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/response.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/connection.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/proxy.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/queue.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/request.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/response.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/retry.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssl_.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/ssltransport.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/timeout.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/url.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/urllib3/util/wait.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/vendor.txt delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/labels.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/mklabels.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/tests.py delete mode 100644 venv/lib/python3.11/site-packages/pip/_vendor/webencodings/x_user_defined.py delete mode 100644 venv/lib/python3.11/site-packages/pip/py.typed delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/__pycache__/zipp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/appdirs.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_adapters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_itertools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/_legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/readers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/__pycache__/simple.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_adapters.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_common.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_itertools.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/_legacy.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/abc.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/readers.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/importlib_resources/simple.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/__pycache__/functools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/context.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/functools.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/jaraco/text/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/more.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/__pycache__/recipes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/more.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/more_itertools/recipes.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__about__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_manylinux.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_musllinux.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/_structures.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/markers.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/requirements.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/specifiers.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/tags.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/utils.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/packaging/version.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/results.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/actions.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/common.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/core.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/results.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/testing.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/unicode.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/pyparsing/util.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/_vendor/zipp.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/extern/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory-2.15.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/polyfactory-2.15.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/polyfactory-2.15.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/polyfactory-2.15.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/polyfactory-2.15.0.dist-info/licenses/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/collection_extender.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/constants.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/decorators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/field_meta.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/fields.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/persistence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/__pycache__/pytest_plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/collection_extender.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/constants.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/decorators.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/attrs_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/beanie_odm_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/dataclass_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/msgspec_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/odmantic_odm_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/pydantic_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/sqlalchemy_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/__pycache__/typed_dict_factory.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/attrs_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/base.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/beanie_odm_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/dataclass_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/msgspec_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/odmantic_odm_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/pydantic_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/sqlalchemy_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/factories/typed_dict_factory.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/field_meta.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/fields.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/persistence.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/py.typed delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/pytest_plugin.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/deprecation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/model_coverage.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/predicates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/deprecation.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/model_coverage.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/predicates.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/utils/types.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/complex_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_dates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_numbers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_path.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_strings.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/constrained_uuid.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/primitives.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/__pycache__/regex.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/complex_types.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_collections.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_dates.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_numbers.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_path.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_strings.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_url.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/constrained_uuid.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/primitives.py delete mode 100644 venv/lib/python3.11/site-packages/polyfactory/value_generators/regex.py delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/licenses/AUTHORS delete mode 100644 venv/lib/python3.11/site-packages/pygments-2.17.2.dist-info/licenses/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/pygments/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/cmdline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/filter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/formatter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/lexer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/modeline.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/regexopt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/scanner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/sphinxext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/style.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/token.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/unistring.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/cmdline.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/console.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/filter.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/filters/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/filters/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatter.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/_mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/bbcode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/groff.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/html.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/img.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/irc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/latex.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/other.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/pangomarkup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/rtf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/svg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/terminal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/__pycache__/terminal256.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/pygments/formatters/_mapping.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/bbcode.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/groff.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/html.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/img.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/irc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/latex.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/other.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/pangomarkup.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/rtf.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/svg.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/terminal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/formatters/terminal256.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexer.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_ada_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_asy_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_cl_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_cocoa_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_csound_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_css_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_julia_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_lasso_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_lilypond_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_lua_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_mql_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_mysql_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_openedge_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_php_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_postgres_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_qlik_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_scheme_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_scilab_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_sourcemod_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_stan_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_stata_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_tsql_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_usd_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_vbscript_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/_vim_builtins.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/actionscript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ada.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/agile.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/algebra.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ambient.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/amdgpu.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ampl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/apdlexer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/apl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/archetype.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/arrow.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/arturo.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/asc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/asm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/asn1.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/automation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/bare.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/basic.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/bdd.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/berry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/bibtex.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/blueprint.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/boa.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/bqn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/business.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/c_cpp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/c_like.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/capnproto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/carbon.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/cddl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/chapel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/clean.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/comal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/compiled.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/configs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/cplint.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/crystal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/csound.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/css.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/d.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dalvik.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dax.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/devicetree.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/diff.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dns.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dotnet.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dsls.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/dylan.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ecl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/eiffel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/elm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/elpi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/email.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/erlang.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/esoteric.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ezhil.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/factor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/fantom.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/felix.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/fift.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/floscript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/forth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/fortran.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/foxpro.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/freefem.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/func.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/functional.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/futhark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/gcodelexer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/gdscript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/go.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/grammar_notation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/graph.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/graphics.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/graphql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/graphviz.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/gsql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/haskell.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/haxe.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/hdl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/hexdump.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/html.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/idl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/igor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/inferno.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/installers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/int_fiction.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/iolang.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/j.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/javascript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/jmespath.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/jslt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/jsonnet.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/jsx.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/julia.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/jvm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/kuin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/kusto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ldap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/lean.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/lilypond.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/lisp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/macaulay2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/make.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/markup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/math.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/matlab.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/maxima.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/meson.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/mime.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/minecraft.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/mips.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/modeling.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/modula2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/monte.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/mosel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ncl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/nimrod.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/nit.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/nix.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/oberon.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/objective.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ooc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/openscad.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/other.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/parasail.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/parsers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/pascal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/pawn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/perl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/phix.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/php.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/pointless.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/pony.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/praat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/procfile.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/prolog.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/promql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/prql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ptx.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/python.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/q.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/qlik.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/qvt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/r.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/rdf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/rebol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/resource.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ride.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/rita.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/rnc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/roboconf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/robotframework.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ruby.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/rust.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/sas.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/savi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/scdoc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/scripting.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/sgf.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/shell.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/sieve.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/slash.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/smalltalk.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/smithy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/smv.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/snobol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/solidity.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/sophia.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/special.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/spice.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/sql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/srcinfo.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/stata.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/supercollider.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/tal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/tcl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/teal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/templates.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/teraterm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/textedit.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/textfmts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/theorem.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/thingsdb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/tlb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/tls.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/tnt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/trafficscript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/typoscript.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/ul4.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/unicon.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/urbi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/usd.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/varnish.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/verification.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/verifpal.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/vip.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/vyper.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/web.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/webassembly.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/webidl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/webmisc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/wgsl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/whiley.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/wowtoc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/wren.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/x10.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/xorg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/yang.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/yara.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/__pycache__/zig.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_ada_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_asy_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_cl_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_cocoa_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_csound_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_css_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_julia_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_lasso_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_lilypond_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_lua_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_mapping.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_mql_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_mysql_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_openedge_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_php_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_postgres_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_qlik_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_scheme_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_scilab_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_sourcemod_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_stan_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_stata_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_tsql_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_usd_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_vbscript_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/_vim_builtins.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/actionscript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ada.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/agile.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/algebra.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ambient.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/amdgpu.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ampl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/apdlexer.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/apl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/archetype.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/arrow.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/arturo.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/asc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/asm.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/asn1.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/automation.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/bare.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/basic.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/bdd.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/berry.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/bibtex.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/blueprint.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/boa.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/bqn.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/business.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/c_cpp.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/c_like.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/capnproto.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/carbon.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/cddl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/chapel.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/clean.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/comal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/compiled.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/configs.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/console.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/cplint.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/crystal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/csound.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/css.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/d.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dalvik.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/data.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dax.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/devicetree.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/diff.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dns.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dotnet.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dsls.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/dylan.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ecl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/eiffel.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/elm.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/elpi.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/email.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/erlang.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/esoteric.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ezhil.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/factor.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/fantom.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/felix.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/fift.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/floscript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/forth.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/fortran.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/foxpro.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/freefem.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/func.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/functional.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/futhark.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/gcodelexer.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/gdscript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/go.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/grammar_notation.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/graph.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/graphics.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/graphql.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/graphviz.py delete mode 100755 venv/lib/python3.11/site-packages/pygments/lexers/gsql.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/haskell.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/haxe.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/hdl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/hexdump.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/html.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/idl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/igor.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/inferno.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/installers.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/int_fiction.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/iolang.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/j.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/javascript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/jmespath.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/jslt.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/jsonnet.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/jsx.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/julia.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/jvm.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/kuin.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/kusto.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ldap.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/lean.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/lilypond.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/lisp.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/macaulay2.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/make.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/markup.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/math.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/matlab.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/maxima.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/meson.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/mime.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/minecraft.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/mips.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ml.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/modeling.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/modula2.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/monte.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/mosel.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ncl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/nimrod.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/nit.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/nix.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/oberon.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/objective.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ooc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/openscad.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/other.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/parasail.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/parsers.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/pascal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/pawn.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/perl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/phix.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/php.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/pointless.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/pony.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/praat.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/procfile.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/prolog.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/promql.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/prql.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ptx.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/python.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/q.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/qlik.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/qvt.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/r.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/rdf.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/rebol.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/resource.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ride.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/rita.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/rnc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/roboconf.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/robotframework.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ruby.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/rust.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/sas.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/savi.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/scdoc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/scripting.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/sgf.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/shell.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/sieve.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/slash.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/smalltalk.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/smithy.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/smv.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/snobol.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/solidity.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/sophia.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/special.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/spice.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/sql.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/srcinfo.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/stata.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/supercollider.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tcl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/teal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/templates.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/teraterm.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/testing.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/text.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/textedit.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/textfmts.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/theorem.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/thingsdb.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tlb.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tls.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tnt.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/trafficscript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/typoscript.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/ul4.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/unicon.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/urbi.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/usd.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/varnish.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/verification.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/verifpal.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/vip.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/vyper.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/web.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/webassembly.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/webidl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/webmisc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/wgsl.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/whiley.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/wowtoc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/wren.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/x10.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/xorg.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/yang.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/yara.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/zig.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/modeline.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/regexopt.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/scanner.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/sphinxext.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/style.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/_mapping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/abap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/algol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/algol_nu.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/arduino.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/autumn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/borland.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/bw.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/colorful.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/default.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/dracula.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/emacs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/friendly.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/friendly_grayscale.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/fruity.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/gh_dark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/gruvbox.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/igor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/inkpot.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/lightbulb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/lilypond.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/lovelace.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/manni.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/material.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/monokai.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/murphy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/native.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/nord.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/onedark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/paraiso_dark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/paraiso_light.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/pastie.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/perldoc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/rainbow_dash.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/rrt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/sas.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/solarized.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/staroffice.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/stata_dark.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/stata_light.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/tango.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/trac.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/vim.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/vs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/xcode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/__pycache__/zenburn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/_mapping.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/abap.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/algol.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/algol_nu.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/arduino.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/autumn.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/borland.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/bw.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/colorful.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/default.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/dracula.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/emacs.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/friendly.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/friendly_grayscale.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/fruity.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/gh_dark.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/gruvbox.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/igor.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/inkpot.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/lightbulb.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/lilypond.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/lovelace.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/manni.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/material.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/monokai.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/murphy.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/native.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/nord.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/onedark.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/paraiso_dark.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/paraiso_light.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/pastie.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/perldoc.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/rainbow_dash.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/rrt.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/sas.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/solarized.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/staroffice.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/stata_dark.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/stata_light.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/tango.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/trac.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/vim.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/vs.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/xcode.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/styles/zenburn.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/token.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/unistring.py delete mode 100644 venv/lib/python3.11/site-packages/pygments/util.py delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/python_dateutil-2.9.0.post0.dist-info/zip-safe delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/python_dotenv-1.0.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/rich-13.7.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/rich-13.7.1.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/rich-13.7.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/rich-13.7.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/rich-13.7.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/rich/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/rich/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_cell_widths.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_emoji_codes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_emoji_replace.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_export_format.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_extension.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_fileno.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_inspect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_log_render.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_loop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_null_file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_palettes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_pick.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_ratio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_spinners.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_stack.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_timer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_win32_console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_windows.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_windows_renderer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/_wrap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/align.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/ansi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/bar.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/box.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/cells.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/color.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/color_triplet.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/columns.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/console.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/constrain.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/containers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/control.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/default_styles.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/diagnose.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/emoji.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/errors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/file_proxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/filesize.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/highlighter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/jupyter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/layout.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/live.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/live_render.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/markdown.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/markup.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/measure.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/padding.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/pager.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/palette.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/panel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/pretty.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/progress.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/progress_bar.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/prompt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/protocol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/region.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/repr.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/rule.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/scope.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/screen.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/segment.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/spinner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/status.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/style.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/styled.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/syntax.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/table.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/terminal_theme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/theme.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/themes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/traceback.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/__pycache__/tree.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich/_cell_widths.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_emoji_codes.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_emoji_replace.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_export_format.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_extension.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_fileno.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_inspect.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_log_render.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_loop.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_null_file.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_palettes.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_pick.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_ratio.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_spinners.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_stack.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_timer.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_win32_console.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_windows.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_windows_renderer.py delete mode 100644 venv/lib/python3.11/site-packages/rich/_wrap.py delete mode 100644 venv/lib/python3.11/site-packages/rich/abc.py delete mode 100644 venv/lib/python3.11/site-packages/rich/align.py delete mode 100644 venv/lib/python3.11/site-packages/rich/ansi.py delete mode 100644 venv/lib/python3.11/site-packages/rich/bar.py delete mode 100644 venv/lib/python3.11/site-packages/rich/box.py delete mode 100644 venv/lib/python3.11/site-packages/rich/cells.py delete mode 100644 venv/lib/python3.11/site-packages/rich/color.py delete mode 100644 venv/lib/python3.11/site-packages/rich/color_triplet.py delete mode 100644 venv/lib/python3.11/site-packages/rich/columns.py delete mode 100644 venv/lib/python3.11/site-packages/rich/console.py delete mode 100644 venv/lib/python3.11/site-packages/rich/constrain.py delete mode 100644 venv/lib/python3.11/site-packages/rich/containers.py delete mode 100644 venv/lib/python3.11/site-packages/rich/control.py delete mode 100644 venv/lib/python3.11/site-packages/rich/default_styles.py delete mode 100644 venv/lib/python3.11/site-packages/rich/diagnose.py delete mode 100644 venv/lib/python3.11/site-packages/rich/emoji.py delete mode 100644 venv/lib/python3.11/site-packages/rich/errors.py delete mode 100644 venv/lib/python3.11/site-packages/rich/file_proxy.py delete mode 100644 venv/lib/python3.11/site-packages/rich/filesize.py delete mode 100644 venv/lib/python3.11/site-packages/rich/highlighter.py delete mode 100644 venv/lib/python3.11/site-packages/rich/json.py delete mode 100644 venv/lib/python3.11/site-packages/rich/jupyter.py delete mode 100644 venv/lib/python3.11/site-packages/rich/layout.py delete mode 100644 venv/lib/python3.11/site-packages/rich/live.py delete mode 100644 venv/lib/python3.11/site-packages/rich/live_render.py delete mode 100644 venv/lib/python3.11/site-packages/rich/logging.py delete mode 100644 venv/lib/python3.11/site-packages/rich/markdown.py delete mode 100644 venv/lib/python3.11/site-packages/rich/markup.py delete mode 100644 venv/lib/python3.11/site-packages/rich/measure.py delete mode 100644 venv/lib/python3.11/site-packages/rich/padding.py delete mode 100644 venv/lib/python3.11/site-packages/rich/pager.py delete mode 100644 venv/lib/python3.11/site-packages/rich/palette.py delete mode 100644 venv/lib/python3.11/site-packages/rich/panel.py delete mode 100644 venv/lib/python3.11/site-packages/rich/pretty.py delete mode 100644 venv/lib/python3.11/site-packages/rich/progress.py delete mode 100644 venv/lib/python3.11/site-packages/rich/progress_bar.py delete mode 100644 venv/lib/python3.11/site-packages/rich/prompt.py delete mode 100644 venv/lib/python3.11/site-packages/rich/protocol.py delete mode 100644 venv/lib/python3.11/site-packages/rich/py.typed delete mode 100644 venv/lib/python3.11/site-packages/rich/region.py delete mode 100644 venv/lib/python3.11/site-packages/rich/repr.py delete mode 100644 venv/lib/python3.11/site-packages/rich/rule.py delete mode 100644 venv/lib/python3.11/site-packages/rich/scope.py delete mode 100644 venv/lib/python3.11/site-packages/rich/screen.py delete mode 100644 venv/lib/python3.11/site-packages/rich/segment.py delete mode 100644 venv/lib/python3.11/site-packages/rich/spinner.py delete mode 100644 venv/lib/python3.11/site-packages/rich/status.py delete mode 100644 venv/lib/python3.11/site-packages/rich/style.py delete mode 100644 venv/lib/python3.11/site-packages/rich/styled.py delete mode 100644 venv/lib/python3.11/site-packages/rich/syntax.py delete mode 100644 venv/lib/python3.11/site-packages/rich/table.py delete mode 100644 venv/lib/python3.11/site-packages/rich/terminal_theme.py delete mode 100644 venv/lib/python3.11/site-packages/rich/text.py delete mode 100644 venv/lib/python3.11/site-packages/rich/theme.py delete mode 100644 venv/lib/python3.11/site-packages/rich/themes.py delete mode 100644 venv/lib/python3.11/site-packages/rich/traceback.py delete mode 100644 venv/lib/python3.11/site-packages/rich/tree.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/rich_click-1.7.4.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/_compat_click.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/cli.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/decorators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_click.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_command.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_group.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_help_configuration.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/rich_help_formatter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/rich_click/_compat_click.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/cli.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/decorators.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/py.typed delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_click.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_command.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_context.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_group.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_help_configuration.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/rich_help_formatter.py delete mode 100644 venv/lib/python3.11/site-packages/rich_click/utils.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/REQUESTED delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/setuptools-65.5.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_entry_points.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_imp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_importlib.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_itertools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_path.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/_reqs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/archive_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/build_meta.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/dep_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/depends.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/discovery.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/dist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/errors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/extension.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/glob.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/installer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/launch.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/monkey.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/msvc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/namespaces.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/package_index.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/py34compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/sandbox.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/unicode_utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/__pycache__/windows_support.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_deprecation_warning.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/debug.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/dist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/errors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/extension.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/log.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/py39compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/_collections.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/_functools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/_macos_compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/_msvccompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/archive_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/bcppcompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/ccompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/cmd.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/_framework_compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist_dumb.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/bdist_rpm.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/build.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/build_clib.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/build_py.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/build_scripts.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/check.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/clean.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/config.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install_data.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install_egg_info.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install_headers.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install_lib.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/install_scripts.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/py37compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/register.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/command/upload.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/config.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/core.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/cygwinccompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/debug.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/dep_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/dir_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/dist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/errors.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/extension.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/fancy_getopt.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/file_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/filelist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/log.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/msvc9compiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/msvccompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/py38compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/py39compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/spawn.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/sysconfig.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/text_file.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/unixccompiler.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/version.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_distutils/versionpredicate.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_entry_points.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_imp.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_importlib.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_itertools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_path.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_reqs.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/__pycache__/zipp.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_collections.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_functools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_meta.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_text.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_adapters.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_common.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_itertools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/_legacy.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/abc.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/readers.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/importlib_resources/simple.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/__pycache__/functools.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/context.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/functools.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/more.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/more_itertools/recipes.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/ordered_set.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__about__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_manylinux.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_musllinux.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/_structures.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/markers.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/requirements.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/specifiers.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/tags.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/utils.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/packaging/version.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/actions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/core.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/helpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/results.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/testing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/unicode.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/actions.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/common.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/core.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/diagram/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/helpers.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/results.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/testing.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/unicode.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/pyparsing/util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_parser.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_re.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/tomli/_types.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/typing_extensions.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/_vendor/zipp.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/archive_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/build_meta.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/cli-32.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/cli-64.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/cli-arm64.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/cli.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/alias.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/build.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_clib.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_ext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/build_py.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/develop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/dist_info.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/easy_install.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/egg_info.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/install.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_lib.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/install_scripts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/py36compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/register.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/rotate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/saveopts.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/sdist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/setopt.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/test.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/upload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/__pycache__/upload_docs.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/alias.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/bdist_egg.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/bdist_rpm.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/build.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/build_clib.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/build_ext.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/build_py.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/develop.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/dist_info.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/easy_install.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/editable_wheel.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/egg_info.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/install.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/install_egg_info.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/install_lib.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/install_scripts.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/launcher manifest.xml delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/py36compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/register.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/rotate.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/saveopts.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/sdist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/setopt.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/test.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/upload.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/command/upload_docs.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__pycache__/expand.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/__pycache__/setupcfg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/error_reporting.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/extra_validations.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/_validate_pyproject/formats.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/expand.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/config/setupcfg.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/dep_util.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/depends.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/discovery.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/dist.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/errors.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/extension.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/extern/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/extern/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/setuptools/glob.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/gui-32.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/gui-64.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/gui-arm64.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/gui.exe delete mode 100644 venv/lib/python3.11/site-packages/setuptools/installer.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/launch.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/logging.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/monkey.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/msvc.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/namespaces.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/package_index.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/py34compat.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/sandbox.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/script (dev).tmpl delete mode 100644 venv/lib/python3.11/site-packages/setuptools/script.tmpl delete mode 100644 venv/lib/python3.11/site-packages/setuptools/unicode_utils.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/version.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/wheel.py delete mode 100644 venv/lib/python3.11/site-packages/setuptools/windows_support.py delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/six-1.16.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/six.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE.APACHE2 delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/LICENSE.MIT delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/sniffio-1.3.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/sniffio/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sniffio/__pycache__/_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sniffio/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_impl.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_tests/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_tests/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_tests/__pycache__/test_sniffio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_tests/test_sniffio.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio/_version.py delete mode 100644 venv/lib/python3.11/site-packages/sniffio/py.typed delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/exc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/inspection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/log.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/__pycache__/aioodbc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/__pycache__/asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/__pycache__/pyodbc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/aioodbc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/connectors/pyodbc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/__pycache__/__init__.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/collections.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/collections.pyx delete mode 100755 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/immutabledict.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/immutabledict.pxd delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/immutabledict.pyx delete mode 100755 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/processors.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/processors.pyx delete mode 100755 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/resultproxy.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/resultproxy.pyx delete mode 100755 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/util.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/cyextension/util.pyx delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/__pycache__/_typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/_typing.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/aioodbc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/information_schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/pymssql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/__pycache__/pyodbc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/aioodbc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/information_schema.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/json.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/pymssql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mssql/pyodbc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/aiomysql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/asyncmy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/cymysql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/dml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/enumerated.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/expression.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/mariadb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/mariadbconnector.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/mysqlconnector.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/mysqldb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/pyodbc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/reflection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/reserved_words.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/aiomysql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/asyncmy.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/cymysql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/dml.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/enumerated.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/expression.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/json.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/mariadb.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/mariadbconnector.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/mysqlconnector.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/mysqldb.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/pymysql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/pyodbc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/reflection.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/reserved_words.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/mysql/types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/cx_oracle.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/dictionary.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/oracledb.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/cx_oracle.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/dictionary.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/oracledb.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/oracle/types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/_psycopg_common.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/array.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/asyncpg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/dml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/ext.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/hstore.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/named_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/operators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/pg8000.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/pg_catalog.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/psycopg.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/psycopg2cffi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/ranges.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/__pycache__/types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/_psycopg_common.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/array.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/dml.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/ext.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/hstore.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/json.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/named_types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/operators.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/pg8000.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/pg_catalog.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2cffi.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/ranges.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/aiosqlite.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/dml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/json.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/pysqlcipher.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/dml.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/json.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/pysqlcipher.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/sqlite/pysqlite.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/dialects/type_migration_guidelines.txt delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/_py_processors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/_py_row.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/_py_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/characteristics.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/create.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/cursor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/default.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/interfaces.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/mock.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/processors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/reflection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/result.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/row.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/strategies.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/url.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/_py_processors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/_py_row.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/_py_util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/characteristics.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/create.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/cursor.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/events.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/interfaces.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/mock.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/processors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/reflection.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/result.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/row.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/strategies.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/url.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/engine/util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/attr.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/legacy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/__pycache__/registry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/api.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/attr.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/legacy.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/event/registry.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/events.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/exc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/associationproxy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/automap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/baked.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/compiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/horizontal_shard.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/hybrid.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/indexable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/instrumentation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/mutable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/orderinglist.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/__pycache__/serializer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/associationproxy.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/engine.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/exc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/result.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/scoping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/__pycache__/session.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/engine.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/exc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/result.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/scoping.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/session.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/automap.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/baked.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/compiler.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/declarative/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/declarative/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/declarative/__pycache__/extensions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/declarative/extensions.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/horizontal_shard.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/hybrid.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/indexable.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/instrumentation.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mutable.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/apply.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/decl_class.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/infer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/names.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/plugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/apply.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/decl_class.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/infer.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/names.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/plugin.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/mypy/util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/orderinglist.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/ext/serializer.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/future/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/future/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/future/__pycache__/engine.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/future/engine.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/inspection.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/log.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/_orm_constructors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/_typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/attributes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/bulk_persistence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/clsregistry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/context.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/decl_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/decl_base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/dependency.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/descriptor_props.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/dynamic.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/evaluator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/exc.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/identity.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/instrumentation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/interfaces.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/loading.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/mapped_collection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/mapper.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/path_registry.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/persistence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/properties.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/query.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/relationships.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/scoping.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/session.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/state.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/state_changes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/strategies.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/strategy_options.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/sync.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/unitofwork.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/__pycache__/writeonly.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/_orm_constructors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/_typing.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/attributes.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/bulk_persistence.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/clsregistry.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/collections.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/context.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/decl_api.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/decl_base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/dependency.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/descriptor_props.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/dynamic.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/evaluator.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/events.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/exc.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/identity.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/instrumentation.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/interfaces.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/mapped_collection.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/mapper.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/path_registry.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/properties.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/relationships.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/scoping.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/state.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/strategies.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/strategy_options.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/sync.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/orm/writeonly.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/__pycache__/impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/events.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/pool/impl.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/py.typed delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/schema.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_dml_constructors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_elements_constructors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_orm_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_py_util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_selectable_constructors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/_typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/annotation.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/cache_key.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/coercions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/compiler.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/crud.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/ddl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/default_comparator.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/dml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/elements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/expression.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/functions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/lambdas.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/naming.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/operators.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/roles.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/selectable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/sqltypes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/traversals.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/type_api.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/__pycache__/visitors.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_dml_constructors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_elements_constructors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_orm_types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_py_util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_selectable_constructors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/_typing.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/annotation.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/cache_key.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/coercions.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/compiler.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/crud.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/default_comparator.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/dml.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/events.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/expression.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/functions.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/lambdas.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/naming.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/operators.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/roles.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/schema.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/selectable.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/sqltypes.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/traversals.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/type_api.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/sql/visitors.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/assertions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/assertsql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/engines.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/entities.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/exclusions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/pickleable.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/profiling.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/provision.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/requirements.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/schema.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/util.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/__pycache__/warnings.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/assertions.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/assertsql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/config.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/engines.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/entities.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/exclusions.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__pycache__/mypy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__pycache__/orm.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/__pycache__/sql.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/mypy.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/orm.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/fixtures/sql.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/pickleable.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/__pycache__/bootstrap.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/__pycache__/plugin_base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/__pycache__/pytestplugin.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/bootstrap.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/plugin_base.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/plugin/pytestplugin.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/profiling.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/provision.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/requirements.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/schema.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_cte.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_ddl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_deprecations.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_dialect.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_insert.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_reflection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_results.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_rowcount.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_select.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_sequence.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_unicode_ddl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/__pycache__/test_update_delete.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_cte.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_ddl.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_deprecations.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_dialect.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_insert.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_reflection.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_results.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_rowcount.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_select.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_sequence.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_unicode_ddl.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_update_delete.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/util.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/testing/warnings.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/types.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/_concurrency_py3k.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/_has_cy.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/_py_collections.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/compat.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/concurrency.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/deprecations.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/langhelpers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/preloaded.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/queue.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/tool_support.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/topological.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/__pycache__/typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/_collections.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/_has_cy.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/_py_collections.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/concurrency.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/preloaded.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/queue.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/tool_support.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/topological.py delete mode 100644 venv/lib/python3.11/site-packages/sqlalchemy/util/typing.py delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions-4.10.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions-4.10.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions-4.10.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions-4.10.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions-4.10.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/typing_extensions.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/uvicorn-0.29.0.dist-info/licenses/LICENSE.md delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/_subprocess.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/_types.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/config.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/importer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/logging.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/server.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/__pycache__/workers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/_subprocess.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/_types.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/config.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/importer.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/__pycache__/off.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/__pycache__/on.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/off.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/lifespan/on.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/logging.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/__pycache__/asyncio.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/__pycache__/auto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/__pycache__/uvloop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/asyncio.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/auto.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/loops/uvloop.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/main.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__pycache__/asgi2.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__pycache__/message_logger.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__pycache__/proxy_headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/__pycache__/wsgi.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/asgi2.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/message_logger.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/middleware/wsgi.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__pycache__/auto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__pycache__/flow_control.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__pycache__/h11_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/__pycache__/httptools_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/auto.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/flow_control.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/utils.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/__pycache__/auto.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/__pycache__/websockets_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/__pycache__/wsproto_impl.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/auto.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/wsproto_impl.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/py.typed delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/server.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/basereload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/multiprocess.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/statreload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/watchfilesreload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/__pycache__/watchgodreload.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/basereload.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/multiprocess.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/statreload.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/watchfilesreload.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/supervisors/watchgodreload.py delete mode 100644 venv/lib/python3.11/site-packages/uvicorn/workers.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/LICENSE-APACHE delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/LICENSE-MIT delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/uvloop-0.19.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/uvloop/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvloop/__pycache__/_noop.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvloop/__pycache__/_testbase.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvloop/__pycache__/_version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvloop/_noop.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop/_testbase.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop/_version.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop/cbhandles.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/cbhandles.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/dns.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/errors.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/async_.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/async_.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/basetransport.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/basetransport.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/check.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/check.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/fsevent.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/fsevent.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/handle.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/handle.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/idle.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/idle.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/pipe.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/pipe.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/poll.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/poll.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/process.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/process.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/stream.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/stream.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/streamserver.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/streamserver.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/tcp.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/tcp.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/timer.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/timer.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/udp.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/handles/udp.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/consts.pxi delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/debug.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/flowcontrol.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/python.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/stdlib.pxi delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/system.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/includes/uv.pxd delete mode 100755 venv/lib/python3.11/site-packages/uvloop/loop.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/uvloop/loop.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/loop.pyi delete mode 100644 venv/lib/python3.11/site-packages/uvloop/loop.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/lru.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/pseudosock.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/py.typed delete mode 100644 venv/lib/python3.11/site-packages/uvloop/request.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/request.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/server.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/server.pyx delete mode 100644 venv/lib/python3.11/site-packages/uvloop/sslproto.pxd delete mode 100644 venv/lib/python3.11/site-packages/uvloop/sslproto.pyx delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.11/site-packages/watchfiles-0.21.0.dist-info/license_files/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/cli.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/filters.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/main.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/run.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/__pycache__/version.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/watchfiles/_rust_notify.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/_rust_notify.pyi delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/cli.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/filters.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/main.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/py.typed delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/run.py delete mode 100644 venv/lib/python3.11/site-packages/watchfiles/version.py delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/INSTALLER delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/LICENSE delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/METADATA delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/RECORD delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.11/site-packages/websockets-12.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.11/site-packages/websockets/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/__main__.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/__main__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/datastructures.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/exceptions.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/frames.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/headers.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/http.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/http11.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/imports.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/protocol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/server.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/streams.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/typing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/uri.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/__pycache__/version.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/auth.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/client.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/connection.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/datastructures.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/exceptions.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/__pycache__/base.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/__pycache__/permessage_deflate.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/base.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/extensions/permessage_deflate.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/frames.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/headers.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/http.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/http11.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/imports.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/async_timeout.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/auth.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/compatibility.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/framing.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/handshake.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/http.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/protocol.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/__pycache__/server.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/async_timeout.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/auth.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/client.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/compatibility.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/framing.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/handshake.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/http.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/protocol.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/legacy/server.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/protocol.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/py.typed delete mode 100644 venv/lib/python3.11/site-packages/websockets/server.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/speedups.c delete mode 100755 venv/lib/python3.11/site-packages/websockets/speedups.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/websockets/streams.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/client.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/connection.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/messages.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/server.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/__pycache__/utils.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/client.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/connection.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/messages.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/server.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/sync/utils.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/typing.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/uri.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/utils.py delete mode 100644 venv/lib/python3.11/site-packages/websockets/version.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/__init__.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/__init__.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/composer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/constructor.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/cyaml.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/dumper.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/emitter.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/error.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/events.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/loader.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/nodes.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/parser.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/reader.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/representer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/resolver.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/scanner.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/serializer.cpython-311.pyc delete mode 100644 venv/lib/python3.11/site-packages/yaml/__pycache__/tokens.cpython-311.pyc delete mode 100755 venv/lib/python3.11/site-packages/yaml/_yaml.cpython-311-x86_64-linux-gnu.so delete mode 100644 venv/lib/python3.11/site-packages/yaml/composer.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/constructor.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/cyaml.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/dumper.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/emitter.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/error.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/events.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/loader.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/nodes.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/parser.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/reader.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/representer.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/resolver.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/scanner.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/serializer.py delete mode 100644 venv/lib/python3.11/site-packages/yaml/tokens.py (limited to 'venv/lib/python3.11/site-packages') diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/COPYING b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/COPYING deleted file mode 100644 index 50170b0..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/COPYING +++ /dev/null @@ -1,11 +0,0 @@ -Copyright (c) 2011-2018 EditorConfig Team, including Hong Xu and Trey Hunner - -editorconfig-core-py is free software. You are free to copy, -modify, and/or redistribute this work under the terms of the BSD -2-clause license. See the file "LICENSE.BSD" for details. - -Parts of this work – the files "fnmatch.py" and "ini.py" - -are derived from work with copyright held by the Python Software -Foundation. You are free to copy, modify, and/or redistribute -those parts under the terms of the Python Software Foundation -license. See the file "LICENSE.PSF" for details. diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.BSD b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.BSD deleted file mode 100644 index 45705a7..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.BSD +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2011-2018 EditorConfig Team, including Hong Xu and Trey Hunner - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.PSF b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.PSF deleted file mode 100644 index e1f2cbd..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/LICENSE.PSF +++ /dev/null @@ -1,192 +0,0 @@ -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -Python Software Foundation; All Rights Reserved" are retained in Python alone or -in any derivative version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/METADATA b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/METADATA deleted file mode 100644 index 4b923f1..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/METADATA +++ /dev/null @@ -1,112 +0,0 @@ -Metadata-Version: 2.1 -Name: EditorConfig -Version: 0.12.4 -Summary: EditorConfig File Locator and Interpreter for Python -Home-page: https://editorconfig.org/ -Author: EditorConfig Team -License: PSF-2.0 -Project-URL: Source Code, https://github.com/editorconfig/editorconfig-core-py -Project-URL: Bug Tracker, https://github.com/editorconfig/editorconfig-core-py/issues -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: Implementation :: PyPy -License-File: LICENSE.BSD -License-File: LICENSE.PSF -License-File: COPYING - -======================== -EditorConfig Python Core -======================== -.. image:: https://img.shields.io/pypi/v/EditorConfig.svg - :target: https://pypi.python.org/pypi/EditorConfig - -.. image:: https://img.shields.io/pypi/wheel/EditorConfig.svg - :target: https://pypi.python.org/pypi/EditorConfig - -.. image:: https://img.shields.io/pypi/pyversions/EditorConfig.svg - :target: https://pypi.python.org/pypi/EditorConfig - -.. image:: https://secure.travis-ci.org/editorconfig/editorconfig-core-py.svg?branch=master - :target: http://travis-ci.org/editorconfig/editorconfig-core-py - -EditorConfig Python Core provides the same functionality as the -`EditorConfig C Core `_. -EditorConfig Python core can be used as a command line program or as an -importable library. - -EditorConfig Project -==================== - -EditorConfig makes it easy to maintain the correct coding style when switching -between different text editors and between different projects. The -EditorConfig project maintains a file format and plugins for various text -editors which allow this file format to be read and used by those editors. For -information on the file format and supported text editors, see the -`EditorConfig website `_. - -Installation -============ - -With setuptools:: - - sudo python setup.py install - -Getting Help -============ -For help with the EditorConfig core code, please write to our `mailing list -`_. Bugs and feature requests -should be submitted to our `issue tracker -`_. - -If you are writing a plugin a language that can import Python libraries, you -may want to import and use the EditorConfig Python Core directly. - -Using as a Library -================== - -Basic example use of EditorConfig Python Core as a library: - -.. code-block:: python - - from editorconfig import get_properties, EditorConfigError - - filename = "/home/zoidberg/humans/anatomy.md" - - try: - options = get_properties(filename) - except EditorConfigError: - print("Error occurred while getting EditorConfig properties") - else: - for key, value in options.items(): - print(f"{key}={value}") - -For details, please take a look at the `online documentation -`_. - -Running Test Cases -================== - -`Cmake `_ has to be installed first. Run the test cases -using the following commands:: - - export PYTHONPATH=$(pwd) - cmake . - ctest . - -Use ``-DPYTHON_EXECUTABLE`` to run the tests using an alternative versions of -Python (e.g. Python 3.12):: - - cmake -DPYTHON_EXECUTABLE=/usr/bin/python3.12 . - ctest . - -License -======= - -See COPYING file for licensing details. diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/RECORD b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/RECORD deleted file mode 100644 index eaa3ec9..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/RECORD +++ /dev/null @@ -1,28 +0,0 @@ -../../../bin/editorconfig,sha256=vWSLF4pT98KeUauHnBe19B1wbMTfxOyRugNBnf9LRqo,248 -EditorConfig-0.12.4.dist-info/COPYING,sha256=jOScu7Bz5uhPJMIB2KrEvlPgpIzrWqEIZla1XPTvEsg,562 -EditorConfig-0.12.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -EditorConfig-0.12.4.dist-info/LICENSE.BSD,sha256=bckNYc524_7dBiXKdl2iK4--riLwMABirzGVLjFccPs,1322 -EditorConfig-0.12.4.dist-info/LICENSE.PSF,sha256=wGpJaFsCEpuESFfTw-KAUffo0Ag217mFPM1zjaRMEi4,9844 -EditorConfig-0.12.4.dist-info/METADATA,sha256=iWsUZTfVvu9hryC6g6nA6dA9xSeuTiN7Ka95NTCttWA,3772 -EditorConfig-0.12.4.dist-info/RECORD,, -EditorConfig-0.12.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92 -EditorConfig-0.12.4.dist-info/entry_points.txt,sha256=1utHsSelky2LCu-1hVom10M8Vr-33PLCg-k93GsPfyU,60 -EditorConfig-0.12.4.dist-info/top_level.txt,sha256=VyrRaLK84H9j1vDl1BnSB7vAQeDP3onSJ4VGw7kTJjw,13 -editorconfig/__init__.py,sha256=sdBNy4eFmbXZHKCi23C8peOF5eEkYNrbhpBHvhbAbNY,504 -editorconfig/__main__.py,sha256=u2WyDyykDc4DZYycFSIS-6mrTFdcKGouxt7XwR9JDUo,2423 -editorconfig/__pycache__/__init__.cpython-311.pyc,, -editorconfig/__pycache__/__main__.cpython-311.pyc,, -editorconfig/__pycache__/compat.cpython-311.pyc,, -editorconfig/__pycache__/exceptions.cpython-311.pyc,, -editorconfig/__pycache__/fnmatch.cpython-311.pyc,, -editorconfig/__pycache__/handler.cpython-311.pyc,, -editorconfig/__pycache__/ini.cpython-311.pyc,, -editorconfig/__pycache__/version.cpython-311.pyc,, -editorconfig/__pycache__/versiontools.cpython-311.pyc,, -editorconfig/compat.py,sha256=biPmIt5vv2QSWMpiSlTN4nKB0u3FN74c1Y7ja7iLHbQ,456 -editorconfig/exceptions.py,sha256=gQc1MPhQTIP_9Zprmry96lsSgz4W5tMDokLkEIPqvww,681 -editorconfig/fnmatch.py,sha256=XNeYK_Lv7Q6oh1AOM0DerLYzuAR79rA_jc-WNI8whKU,6819 -editorconfig/handler.py,sha256=a5qRzlaHWrLd5u9H542f1blxTrPRmPp5AX8otGHS2gw,4298 -editorconfig/ini.py,sha256=eHjJzhn06MSMWrZvsn0N-PATyW2FmYCX1H5cEcezQVY,6779 -editorconfig/version.py,sha256=MPHPNDBBJvPb3gvXKBb9lixfREayKPK2dBxbw9X96H4,30 -editorconfig/versiontools.py,sha256=8Mo5Jq2yM1RxTyIiyQvUZVJ0AvS85cwTEFWQZi7SrGM,973 diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/WHEEL b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/WHEEL deleted file mode 100644 index bab98d6..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.43.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/entry_points.txt b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/entry_points.txt deleted file mode 100644 index 4e793af..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/entry_points.txt +++ /dev/null @@ -1,2 +0,0 @@ -[console_scripts] -editorconfig = editorconfig.__main__:main diff --git a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/top_level.txt deleted file mode 100644 index 2027372..0000000 --- a/venv/lib/python3.11/site-packages/EditorConfig-0.12.4.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -editorconfig diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/LICENSE.txt b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/LICENSE.txt deleted file mode 100644 index 1e1ef06..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2012 Daniele Faraglia - -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.11/site-packages/Faker-24.4.0.dist-info/METADATA b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/METADATA deleted file mode 100644 index 2008422..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/METADATA +++ /dev/null @@ -1,523 +0,0 @@ -Metadata-Version: 2.1 -Name: Faker -Version: 24.4.0 -Summary: Faker is a Python package that generates fake data for you. -Home-page: https://github.com/joke2k/faker -Author: joke2k -Author-email: joke2k@gmail.com -License: MIT License -Project-URL: Bug Tracker, https://github.com/joke2k/faker/issues -Project-URL: Changes, https://github.com/joke2k/faker/blob/master/CHANGELOG.md -Project-URL: Documentation, http://faker.rtfd.org/ -Project-URL: Source Code, https://github.com/joke2k/faker -Keywords: faker fixtures data test mock generator -Platform: any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Console -Classifier: Intended Audience :: Developers -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Software Development :: Testing -Classifier: Topic :: Utilities -Classifier: License :: OSI Approved :: MIT License -Requires-Python: >=3.8 -License-File: LICENSE.txt -Requires-Dist: python-dateutil (>=2.4) -Requires-Dist: typing-extensions (>=3.10.0.1) ; python_version <= "3.8" - -*Faker* is a Python package that generates fake data for you. Whether -you need to bootstrap your database, create good-looking XML documents, -fill-in your persistence to stress test it, or anonymize data taken from -a production service, Faker is for you. - -Faker is heavily inspired by `PHP Faker`_, `Perl Faker`_, and by `Ruby Faker`_. - ----- - -:: - - _|_|_|_| _| - _| _|_|_| _| _| _|_| _| _|_| - _|_|_| _| _| _|_| _|_|_|_| _|_| - _| _| _| _| _| _| _| - _| _|_|_| _| _| _|_|_| _| - -|pypi| |build| |coverage| |license| - ----- - -Compatibility -------------- - -Starting from version ``4.0.0``, ``Faker`` dropped support for Python 2 and from version ``5.0.0`` -only supports Python 3.7 and above. If you still need Python 2 compatibility, please install version ``3.0.1`` in the -meantime, and please consider updating your codebase to support Python 3 so you can enjoy the -latest features ``Faker`` has to offer. Please see the `extended docs`_ for more details, especially -if you are upgrading from version ``2.0.4`` and below as there might be breaking changes. - -This package was also previously called ``fake-factory`` which was already deprecated by the end -of 2016, and much has changed since then, so please ensure that your project and its dependencies -do not depend on the old package. - -Basic Usage ------------ - -Install with pip: - -.. code:: bash - - pip install Faker - -Use ``faker.Faker()`` to create and initialize a faker -generator, which can generate data by accessing properties named after -the type of data you want. - -.. code:: python - - from faker import Faker - fake = Faker() - - fake.name() - # 'Lucy Cechtelar' - - fake.address() - # '426 Jordy Lodge - # Cartwrightshire, SC 88120-6700' - - fake.text() - # 'Sint velit eveniet. Rerum atque repellat voluptatem quia rerum. Numquam excepturi - # beatae sint laudantium consequatur. Magni occaecati itaque sint et sit tempore. Nesciunt - # amet quidem. Iusto deleniti cum autem ad quia aperiam. - # A consectetur quos aliquam. In iste aliquid et aut similique suscipit. Consequatur qui - # quaerat iste minus hic expedita. Consequuntur error magni et laboriosam. Aut aspernatur - # voluptatem sit aliquam. Dolores voluptatum est. - # Aut molestias et maxime. Fugit autem facilis quos vero. Eius quibusdam possimus est. - # Ea quaerat et quisquam. Deleniti sunt quam. Adipisci consequatur id in occaecati. - # Et sint et. Ut ducimus quod nemo ab voluptatum.' - -Each call to method ``fake.name()`` yields a different (random) result. -This is because faker forwards ``faker.Generator.method_name()`` calls -to ``faker.Generator.format(method_name)``. - -.. code:: python - - for _ in range(10): - print(fake.name()) - - # 'Adaline Reichel' - # 'Dr. Santa Prosacco DVM' - # 'Noemy Vandervort V' - # 'Lexi O'Conner' - # 'Gracie Weber' - # 'Roscoe Johns' - # 'Emmett Lebsack' - # 'Keegan Thiel' - # 'Wellington Koelpin II' - # 'Ms. Karley Kiehn V' - -Pytest fixtures ---------------- - -``Faker`` also has its own ``pytest`` plugin which provides a ``faker`` fixture you can use in your -tests. Please check out the `pytest fixture docs` to learn more. - -Providers ---------- - -Each of the generator properties (like ``name``, ``address``, and -``lorem``) are called "fake". A faker generator has many of them, -packaged in "providers". - -.. code:: python - - from faker import Faker - from faker.providers import internet - - fake = Faker() - fake.add_provider(internet) - - print(fake.ipv4_private()) - - -Check the `extended docs`_ for a list of `bundled providers`_ and a list of -`community providers`_. - -Localization ------------- - -``faker.Faker`` can take a locale as an argument, to return localized -data. If no localized provider is found, the factory falls back to the -default LCID string for US english, ie: ``en_US``. - -.. code:: python - - from faker import Faker - fake = Faker('it_IT') - for _ in range(10): - print(fake.name()) - - # 'Elda Palumbo' - # 'Pacifico Giordano' - # 'Sig. Avide Guerra' - # 'Yago Amato' - # 'Eustachio Messina' - # 'Dott. Violante Lombardo' - # 'Sig. Alighieri Monti' - # 'Costanzo Costa' - # 'Nazzareno Barbieri' - # 'Max Coppola' - -``faker.Faker`` also supports multiple locales. New in v3.0.0. - -.. code:: python - - from faker import Faker - fake = Faker(['it_IT', 'en_US', 'ja_JP']) - for _ in range(10): - print(fake.name()) - - # 鈴木 陽一 - # Leslie Moreno - # Emma Williams - # 渡辺 裕美子 - # Marcantonio Galuppi - # Martha Davis - # Kristen Turner - # 中津川 春香 - # Ashley Castillo - # 山田 桃子 - -You can check available Faker locales in the source code, under the -providers package. The localization of Faker is an ongoing process, for -which we need your help. Please don't hesitate to create a localized -provider for your own locale and submit a Pull Request (PR). - -Optimizations -------------- -The Faker constructor takes a performance-related argument called -``use_weighting``. It specifies whether to attempt to have the frequency -of values match real-world frequencies (e.g. the English name Gary would -be much more frequent than the name Lorimer). If ``use_weighting`` is ``False``, -then all items have an equal chance of being selected, and the selection -process is much faster. The default is ``True``. - -Command line usage ------------------- - -When installed, you can invoke faker from the command-line: - -.. code:: console - - faker [-h] [--version] [-o output] - [-l {bg_BG,cs_CZ,...,zh_CN,zh_TW}] - [-r REPEAT] [-s SEP] - [-i {package.containing.custom_provider otherpkg.containing.custom_provider}] - [fake] [fake argument [fake argument ...]] - -Where: - -- ``faker``: is the script when installed in your environment, in - development you could use ``python -m faker`` instead - -- ``-h``, ``--help``: shows a help message - -- ``--version``: shows the program's version number - -- ``-o FILENAME``: redirects the output to the specified filename - -- ``-l {bg_BG,cs_CZ,...,zh_CN,zh_TW}``: allows use of a localized - provider - -- ``-r REPEAT``: will generate a specified number of outputs - -- ``-s SEP``: will generate the specified separator after each - generated output - -- ``-i {my.custom_provider other.custom_provider}`` list of additional custom - providers to use. Note that is the import path of the package containing - your Provider class, not the custom Provider class itself. - -- ``fake``: is the name of the fake to generate an output for, such as - ``name``, ``address``, or ``text`` - -- ``[fake argument ...]``: optional arguments to pass to the fake (e.g. the - profile fake takes an optional list of comma separated field names as the - first argument) - -Examples: - -.. code:: console - - $ faker address - 968 Bahringer Garden Apt. 722 - Kristinaland, NJ 09890 - - $ faker -l de_DE address - Samira-Niemeier-Allee 56 - 94812 Biedenkopf - - $ faker profile ssn,birthdate - {'ssn': '628-10-1085', 'birthdate': '2008-03-29'} - - $ faker -r=3 -s=";" name - Willam Kertzmann; - Josiah Maggio; - Gayla Schmitt; - -How to create a Provider ------------------------- - -.. code:: python - - from faker import Faker - fake = Faker() - - # first, import a similar Provider or use the default one - from faker.providers import BaseProvider - - # create new provider class - class MyProvider(BaseProvider): - def foo(self) -> str: - return 'bar' - - # then add new provider to faker instance - fake.add_provider(MyProvider) - - # now you can use: - fake.foo() - # 'bar' - - -How to create a Dynamic Provider --------------------------------- - -Dynamic providers can read elements from an external source. - -.. code:: python - - from faker import Faker - from faker.providers import DynamicProvider - - medical_professions_provider = DynamicProvider( - provider_name="medical_profession", - elements=["dr.", "doctor", "nurse", "surgeon", "clerk"], - ) - - fake = Faker() - - # then add new provider to faker instance - fake.add_provider(medical_professions_provider) - - # now you can use: - fake.medical_profession() - # 'dr.' - -How to customize the Lorem Provider ------------------------------------ - -You can provide your own sets of words if you don't want to use the -default lorem ipsum one. The following example shows how to do it with a list of words picked from `cakeipsum `__ : - -.. code:: python - - from faker import Faker - fake = Faker() - - my_word_list = [ - 'danish','cheesecake','sugar', - 'Lollipop','wafer','Gummies', - 'sesame','Jelly','beans', - 'pie','bar','Ice','oat' ] - - fake.sentence() - # 'Expedita at beatae voluptatibus nulla omnis.' - - fake.sentence(ext_word_list=my_word_list) - # 'Oat beans oat Lollipop bar cheesecake.' - - -How to use with Factory Boy ---------------------------- - -`Factory Boy` already ships with integration with ``Faker``. Simply use the -``factory.Faker`` method of ``factory_boy``: - -.. code:: python - - import factory - from myapp.models import Book - - class BookFactory(factory.Factory): - class Meta: - model = Book - - title = factory.Faker('sentence', nb_words=4) - author_name = factory.Faker('name') - -Accessing the `random` instance -------------------------------- - -The ``.random`` property on the generator returns the instance of -``random.Random`` used to generate the values: - -.. code:: python - - from faker import Faker - fake = Faker() - fake.random - fake.random.getstate() - -By default all generators share the same instance of ``random.Random``, which -can be accessed with ``from faker.generator import random``. Using this may -be useful for plugins that want to affect all faker instances. - -Unique values -------------- - -Through use of the ``.unique`` property on the generator, you can guarantee -that any generated values are unique for this specific instance. - -.. code:: python - - from faker import Faker - fake = Faker() - names = [fake.unique.first_name() for i in range(500)] - assert len(set(names)) == len(names) - -Calling ``fake.unique.clear()`` clears the already seen values. -Note, to avoid infinite loops, after a number of attempts to find a unique -value, Faker will throw a ``UniquenessException``. Beware of the `birthday -paradox `_, collisions -are more likely than you'd think. - - -.. code:: python - - from faker import Faker - - fake = Faker() - for i in range(3): - # Raises a UniquenessException - fake.unique.boolean() - -In addition, only hashable arguments and return values can be used -with ``.unique``. - -Seeding the Generator ---------------------- - -When using Faker for unit testing, you will often want to generate the same -data set. For convenience, the generator also provides a ``seed()`` method, -which seeds the shared random number generator. A Seed produces the same result -when the same methods with the same version of faker are called. - -.. code:: python - - from faker import Faker - fake = Faker() - Faker.seed(4321) - - print(fake.name()) - # 'Margaret Boehm' - -Each generator can also be switched to use its own instance of ``random.Random``, -separated from the shared one, by using the ``seed_instance()`` method, which acts -the same way. For example: - -.. code:: python - - from faker import Faker - fake = Faker() - fake.seed_instance(4321) - - print(fake.name()) - # 'Margaret Boehm' - -Please note that as we keep updating datasets, results are not guaranteed to be -consistent across patch versions. If you hardcode results in your test, make sure -you pinned the version of ``Faker`` down to the patch number. - -If you are using ``pytest``, you can seed the ``faker`` fixture by defining a ``faker_seed`` -fixture. Please check out the `pytest fixture docs` to learn more. - -Tests ------ - -Run tests: - -.. code:: bash - - $ tox - -Write documentation for the providers of the default locale: - -.. code:: bash - - $ python -m faker > docs.txt - -Write documentation for the providers of a specific locale: - -.. code:: bash - - $ python -m faker --lang=de_DE > docs_de.txt - - -Contribute ----------- - -Please see `CONTRIBUTING`_. - -License -------- - -Faker is released under the MIT License. See the bundled `LICENSE`_ file -for details. - -Credits -------- - -- `FZaninotto`_ / `PHP Faker`_ -- `Distribute`_ -- `Buildout`_ -- `modern-package-template`_ - - -.. _FZaninotto: https://github.com/fzaninotto -.. _PHP Faker: https://github.com/fzaninotto/Faker -.. _Perl Faker: http://search.cpan.org/~jasonk/Data-Faker-0.07/ -.. _Ruby Faker: https://github.com/stympy/faker -.. _Distribute: https://pypi.org/project/distribute/ -.. _Buildout: http://www.buildout.org/ -.. _modern-package-template: https://pypi.org/project/modern-package-template/ -.. _extended docs: https://faker.readthedocs.io/en/stable/ -.. _bundled providers: https://faker.readthedocs.io/en/stable/providers.html -.. _community providers: https://faker.readthedocs.io/en/stable/communityproviders.html -.. _pytest fixture docs: https://faker.readthedocs.io/en/master/pytest-fixtures.html -.. _LICENSE: https://github.com/joke2k/faker/blob/master/LICENSE.txt -.. _CONTRIBUTING: https://github.com/joke2k/faker/blob/master/CONTRIBUTING.rst -.. _Factory Boy: https://github.com/FactoryBoy/factory_boy - -.. |pypi| image:: https://img.shields.io/pypi/v/Faker.svg?style=flat-square&label=version - :target: https://pypi.org/project/Faker/ - :alt: Latest version released on PyPI - -.. |coverage| image:: https://img.shields.io/coveralls/joke2k/faker/master.svg?style=flat-square - :target: https://coveralls.io/r/joke2k/faker?branch=master - :alt: Test coverage - -.. |build| image:: https://github.com/joke2k/faker/actions/workflows/ci.yml/badge.svg - :target: https://github.com/joke2k/faker/actions/workflows/ci.yml - :alt: Build status of the master branch - -.. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square - :target: https://raw.githubusercontent.com/joke2k/faker/master/LICENSE.txt - :alt: Package license diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/RECORD b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/RECORD deleted file mode 100644 index 12179aa..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/RECORD +++ /dev/null @@ -1,1294 +0,0 @@ -../../../bin/faker,sha256=sgFQSMJzE9lfuAS7jV4hBgn1OefzWnPOpR25Rn2yueA,278 -Faker-24.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -Faker-24.4.0.dist-info/LICENSE.txt,sha256=zVpfvIusylK4gVjKVirF98LprbJzcc6tUar05hpleSg,1060 -Faker-24.4.0.dist-info/METADATA,sha256=mGvcGAgfNd2WGHpmig2hjayQrIj6zyGN0llzJRW-Xyg,15780 -Faker-24.4.0.dist-info/RECORD,, -Faker-24.4.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92 -Faker-24.4.0.dist-info/entry_points.txt,sha256=l_IdiPD4bkqzB9bcv94HWbprFQzvZhApP98Hh6g6b58,110 -Faker-24.4.0.dist-info/top_level.txt,sha256=r5c8fW5_gMtLHv1Ql00Y4ifqUwZFD8NDLz9-nTKZmSk,6 -Faker-24.4.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -faker/__init__.py,sha256=1qFNtfV6HNGjWqGqs4k2kYxGLo06Q5Az5xO7DMJzsdU,167 -faker/__main__.py,sha256=bWvstAA5sgR1fuERQ4Hc8txstG9n0AbqH7m9WT1BbDA,107 -faker/__pycache__/__init__.cpython-311.pyc,, -faker/__pycache__/__main__.cpython-311.pyc,, -faker/__pycache__/cli.cpython-311.pyc,, -faker/__pycache__/config.cpython-311.pyc,, -faker/__pycache__/documentor.cpython-311.pyc,, -faker/__pycache__/exceptions.cpython-311.pyc,, -faker/__pycache__/factory.cpython-311.pyc,, -faker/__pycache__/generator.cpython-311.pyc,, -faker/__pycache__/proxy.cpython-311.pyc,, -faker/__pycache__/typing.cpython-311.pyc,, -faker/cli.py,sha256=oQJ-xo9rFyIxstlEJMky4wqt2NwAMJp8UbTzVRv4kOY,9122 -faker/config.py,sha256=IUzU9OjeGF2Oj05_E5U144wVaFfPD1WH-Ddrg2-hZf8,343 -faker/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -faker/contrib/__pycache__/__init__.cpython-311.pyc,, -faker/contrib/pytest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -faker/contrib/pytest/__pycache__/__init__.cpython-311.pyc,, -faker/contrib/pytest/__pycache__/plugin.cpython-311.pyc,, -faker/contrib/pytest/plugin.py,sha256=riHG2hkldfJxcBXqmblXMrAPtqUhPnIXQjlBFr_rE1A,1114 -faker/decode/__init__.py,sha256=M1moNbvdc4XyDcnLgh1xB8ik57ZVXyIfeJE-LTJAyVM,234 -faker/decode/__pycache__/__init__.cpython-311.pyc,, -faker/decode/__pycache__/codes.cpython-311.pyc,, -faker/decode/codes.py,sha256=aMPbvX4JoRwISqjYKh9eiutCPCFLBl6uu6PVgsqCUIQ,769957 -faker/documentor.py,sha256=NBABEjQ9IEO3jJJHuRKzfZFlkM3QNVjBegLV_Zp3cw8,4246 -faker/exceptions.py,sha256=aEN2G4fwwjBUcKCMJ0h9PBEpQzTj2hEnXpRh6C6cdVw,506 -faker/factory.py,sha256=1SWBOF79FPKIVNqDEvNd3JyXYzHOJMwjZmUyvPOZe5s,3910 -faker/generator.py,sha256=kAv4Y_A7HlSqF9XdDajgepbclwbNT4A6EBz3aKIz3M8,6790 -faker/providers/__init__.py,sha256=AgX_2O0IxQBIy13S-4QvW17TXsh8CaVj7-G81IqWLnQ,25227 -faker/providers/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/__init__.py,sha256=D4VAhr2KQpLX--ApBlH-CmdJwWv2Tw9Kd2oI7ujbn6o,3776 -faker/providers/address/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/az_AZ/__init__.py,sha256=CwI5O2vweAeIwyEGzQrZ-Z5EPizDXilq7Gh9FLUeAdI,15731 -faker/providers/address/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/bn_BD/__init__.py,sha256=YdHlA9EaXuZc-T5ZwRgrTVizRckYuHdWrPAQx9lHJ90,20346 -faker/providers/address/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/cs_CZ/__init__.py,sha256=8gnBMU_OHkb0JdGDJo628f3cojiHRPjrsZh1l8UCesA,27852 -faker/providers/address/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/da_DK/__init__.py,sha256=OKDKKAWh60umyQLDNSYWp8W70FOKtUovaaF90q4j3bc,51375 -faker/providers/address/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/de/__init__.py,sha256=5Quk1In2RNlovsWBb3npynCFio4bkR1IzbNRhZIN7uU,5672 -faker/providers/address/de/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/de_AT/__init__.py,sha256=xjatIV_KQz2vwSa12Vv_fD0PZECyerdOjPZRaYsb06Q,6260 -faker/providers/address/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/de_CH/__init__.py,sha256=xF6yk1VhZHphb7lpWOeWxOB_QxCbOHhnQkBrTvdR5Zs,5361 -faker/providers/address/de_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/de_DE/__init__.py,sha256=PbBv5RJij1khSIKpCN56k92nkbdm2pm8LfsEWX4BKmY,10231 -faker/providers/address/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/el_GR/__init__.py,sha256=_IohURhKWsgiDGiq89B0pdVxvkROrInFupImXksxefo,149020 -faker/providers/address/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en/__init__.py,sha256=w4bMWWe_CSpwmBQyQ8R4oHhdZK3_Ks1mEUd9jsfxigc,5648 -faker/providers/address/en/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_AU/__init__.py,sha256=GQQ3z7eehtF-zIhN7gHkSyhlsHokUo379xYW4cFL-80,6565 -faker/providers/address/en_AU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_BD/__init__.py,sha256=id2LSKXpYPjFjBjxi6lHI3RlgpBg76m8oB0uIeUF6GI,12030 -faker/providers/address/en_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_CA/__init__.py,sha256=A9WWb-T0eOlwyhOtFineAzl_3ly2NBOtW75JkDfZhKw,9037 -faker/providers/address/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_GB/__init__.py,sha256=G1L5d_K2OG_nw8J1lzxf2cS-jIdSPlwmKfXJxdrmE4Q,10725 -faker/providers/address/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_IE/__init__.py,sha256=_sz-JCp7mm8F1jWTEwjjgLCM53qBpr5W5Fmj57HSceo,1336 -faker/providers/address/en_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_IN/__init__.py,sha256=ZOfY7wxpIVOtpK8repHIol6vDDZQs8X6dLNghzPboQ8,8591 -faker/providers/address/en_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_NZ/__init__.py,sha256=80YiH9_uy_FyQPm8JvgU5qF0pPVwDDHc2ZdhIOU3mWY,7140 -faker/providers/address/en_NZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_PH/__init__.py,sha256=sC-WyA3ekXtOyLRQaYaD4TXS9RDqLA4fyaK5Ba1jWdA,43242 -faker/providers/address/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/en_US/__init__.py,sha256=5CjDd5VTW0RuLUjBUDkX0-gCl6vLjKO_Frj0WZUOi8w,13688 -faker/providers/address/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es/__init__.py,sha256=7ook-a38a3ozyftxFVBHGgzkJ3u4DFumo1lsRCPvedY,4406 -faker/providers/address/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es_AR/__init__.py,sha256=GSe6BCq19JpK51azW5MhZRJkjb-864lW4FGVuYUafdM,6549 -faker/providers/address/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es_CL/__init__.py,sha256=IOh250ia1a2RZCc4GuFA1pMKbc7AN-uf8CMM1xX00Yk,19951 -faker/providers/address/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es_CO/__init__.py,sha256=nJcxIm-NaGY-nDvVneC1nrcJFBuKW7awl_PSkHZSpbs,42958 -faker/providers/address/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es_ES/__init__.py,sha256=L7nSd_R7uIbT9YNQKeLuJJBbqeSCgdITZJ1es8MfdQQ,3361 -faker/providers/address/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/es_MX/__init__.py,sha256=-pYU1LttV94EPTkVm7TAt_OLRJkFBb1wEW_3J96NXL4,4914 -faker/providers/address/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fa_IR/__init__.py,sha256=dwN_zs65K0IVO9uQjhU4vXySsvghG_GWKIoBLqnkeNE,8028 -faker/providers/address/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fi_FI/__init__.py,sha256=vY6s1s56EW8jm2YTuoyX_jWjsUzaAxOMX3_P9HCu9Y8,16862 -faker/providers/address/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fil_PH/__init__.py,sha256=GWSXNmCOnBty8NLToYXAQRwIMa3yfkqIccBc6R_mxVo,164 -faker/providers/address/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fr_CA/__init__.py,sha256=tkGvDQDJfDyDdo2xLSM14v7FkAUEsZg3Tyy-oIH2jD4,1866 -faker/providers/address/fr_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fr_CH/__init__.py,sha256=7cF2Jcdi--e2s8kvO-17xB2qRrW3OkQt0LoCvL3qCvQ,8695 -faker/providers/address/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/fr_FR/__init__.py,sha256=S-C1gFbbEdRl1FM4qDO0prCBADC0p2PJMWl2y94swos,12056 -faker/providers/address/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/he_IL/__init__.py,sha256=j3DiVoEW-XTkKsy9vXJrs3GNx4guUdlsfPXzST5-xI4,16425 -faker/providers/address/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/hi_IN/__init__.py,sha256=mcXpPKzW_9T08_iK1buCd3VvYf64FmBv2ZggSJBJS0s,7698 -faker/providers/address/hi_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/hr_HR/__init__.py,sha256=0y5L8-Grp87pzfZ12PIVzvrtHPj3DfTiT_H2VIoKu_o,12730 -faker/providers/address/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/hu_HU/__init__.py,sha256=nuykzYXPdKJCpnqK4uqOBmvH8BoC-uVKV-7OXWgptqA,11395 -faker/providers/address/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/hy_AM/__init__.py,sha256=s2eg8iGDGPpWHqPrDdAF3-BfXkn157LL0BewajD9Pu4,20576 -faker/providers/address/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/id_ID/__init__.py,sha256=vFxn9A7NTodp5rnoDE-Ne7qDn3SSqCWEQC61pLOdLzk,11524 -faker/providers/address/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/it_IT/__init__.py,sha256=9NF18Sy2JyzlSosfMRxyfq3qPPECHZfhWCbbE6-CgJM,667000 -faker/providers/address/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ja_JP/__init__.py,sha256=XFnNe0n8njxYQAIAL47twbpVYgJcEy6gPuZpETfcs-M,16170 -faker/providers/address/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ka_GE/__init__.py,sha256=z6DfhsRNhHgOfsUHost43aTlRW1CnxH-mavfrNskSzM,53808 -faker/providers/address/ka_GE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ko_KR/__init__.py,sha256=-FedUQ_k3YLUd65lQLr1nfK1ANSs_EC0fYAsormnAL4,15003 -faker/providers/address/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ne_NP/__init__.py,sha256=SZf6PfXCdlmZ1XYYu-2TUpFa6qSvK9yZ5-QFiW9rAC8,22794 -faker/providers/address/ne_NP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/nl_BE/__init__.py,sha256=FAup9xS8nIg4BvNU1CKY9RVZ-l40dXC0EfPXYaohooM,65198 -faker/providers/address/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/nl_NL/__init__.py,sha256=H05UmyeuriYxlV7x9-uUdAX0a_sSiT9T5DkBL7u8br4,57929 -faker/providers/address/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/no_NO/__init__.py,sha256=afUxqu6BQnzaeZuBH-RajqJeawrflhPCVEpU3Eh6fDc,2490 -faker/providers/address/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/pl_PL/__init__.py,sha256=yca1EoW9-RHm3qOBiPI968GYdXA5ToXcvMVSMkl96nU,15066 -faker/providers/address/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/pt_BR/__init__.py,sha256=p9A90P9rZzNbKfz2eBPgkR2y0yPxIF6ERjcaRNJtvUc,23003 -faker/providers/address/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/pt_PT/__init__.py,sha256=c0KT3h7Z5YS0caNXBxu_y_0g7cny5XNG2wz3CWvxIv8,38123 -faker/providers/address/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ro_RO/__init__.py,sha256=03g6v3vqtkLj60ERKxUchkmZal4vr9lG4L9tpOFY6XQ,9633 -faker/providers/address/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ru_RU/__init__.py,sha256=3KNx8s8kbN4h8HutZRt2v7AzL7NFxbK2dak4a5nSce0,48537 -faker/providers/address/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/sk_SK/__init__.py,sha256=NGHQTDPB7uP_YnFmwbaEw5K9Pqwn5waq-fJ3UrBR5CQ,122008 -faker/providers/address/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/sl_SI/__init__.py,sha256=0P4KauGn5hfFyVoNoMM-XFUsDzQlqw_0X-mPTiESxPM,42412 -faker/providers/address/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/sv_SE/__init__.py,sha256=iqdwU0Xw5MMjG_nxPJrtNPznt_RxDccQk7C-5Okso6U,8163 -faker/providers/address/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/ta_IN/__init__.py,sha256=tp23UYijByweT0IlZXv6ItCG2-bnm1JAqBwVIKk1e1k,16943 -faker/providers/address/ta_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/th/__init__.py,sha256=gs2nBp8qeBqUT0_b9liUHH592RBid1Q7rU1c6hzTWfg,9824 -faker/providers/address/th/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/th_TH/__init__.py,sha256=0fXC5Qg3Y40_k5CTtFJHXwcTnGGAKJPIFBFSuZw2B0s,12997 -faker/providers/address/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/tl_PH/__init__.py,sha256=GWSXNmCOnBty8NLToYXAQRwIMa3yfkqIccBc6R_mxVo,164 -faker/providers/address/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/uk_UA/__init__.py,sha256=jRG2RSkWtJPvvXWAuiklG7AzyrR74arsXY3C1sorsFc,75336 -faker/providers/address/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/zh_CN/__init__.py,sha256=MaW3qTfIhxoH0JQNaYYmK9D-koxKy8RFfTix0A-knGE,9898 -faker/providers/address/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/address/zh_TW/__init__.py,sha256=CQ0LzyxmKJJIBF_FTCJuEN3Gp5iuwFQmACFLYsCudvI,8296 -faker/providers/address/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/__init__.py,sha256=A5ohmGTYcaNTHA5-fB4ebNm0fGo1aKvN3DWM4Mzo6sw,1961 -faker/providers/automotive/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ar_BH/__init__.py,sha256=yHzypyOoVRxh-v5hsjC5ckEzXvB01v9DzxCpZ7BnBnE,275 -faker/providers/automotive/ar_BH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ar_JO/__init__.py,sha256=qkPY4ELWlgMPz7YU_vTIiEjbxdnG0UXhK39BpfCU6ig,1567 -faker/providers/automotive/ar_JO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ar_PS/__init__.py,sha256=AfNnOx0ryuw7NfMOrQV4i6ZhK2FRTDQ32I8lJKW_hCQ,1744 -faker/providers/automotive/ar_PS/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ar_SA/__init__.py,sha256=uZrSoiKNH0I7MC_1siesa4gmXPlI5I8Tyzd1ete2nMc,2318 -faker/providers/automotive/ar_SA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/az_AZ/__init__.py,sha256=u7VpFWRaPj3tQtvsCQCOe115JYNb-xNmud9brzl-dOA,1774 -faker/providers/automotive/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/bn_BD/__init__.py,sha256=mMlQ3NyvlvL9V09L9MJ1jEE9AKytw9irWlST2FpJ15o,6333 -faker/providers/automotive/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/da_DK/__init__.py,sha256=NOdkFEwYyF--kYw3iLndzH46v1JcZbZ_rVLhKj7WkNk,270 -faker/providers/automotive/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/de_CH/__init__.py,sha256=xibm7fHr-60zuO80aS1BPHqeZMmQfO7_8uiYkAYQpeM,1151 -faker/providers/automotive/de_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/de_DE/__init__.py,sha256=_riKWlt1bowiytZeqRW_gMQzZEss1UbrJhqH6Ik1F20,6463 -faker/providers/automotive/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/el_GR/__init__.py,sha256=GUhLF6kdsh-98ZKY26SXUKqCy1lEXPbB7_gEnspo7pw,555 -faker/providers/automotive/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/en_CA/__init__.py,sha256=bamRz0hKMQT6NoIGEBY0OuS0Jek3huZxqLRhFoAcJPE,919 -faker/providers/automotive/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/en_GB/__init__.py,sha256=KpoS4sxYRSKvGYSxprydASLwyUFIygBQb-rSIGjtHjc,322 -faker/providers/automotive/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/en_NZ/__init__.py,sha256=VswoVRAjPwO9KdDjr4h0OdEI9QPwjCgoLZpdkB8GmdU,640 -faker/providers/automotive/en_NZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/en_PH/__init__.py,sha256=qMj0yJPoS0Js_dyBedLIXnUpbSY39mE8pXYC_XuuFU0,2499 -faker/providers/automotive/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/en_US/__init__.py,sha256=8iZQzBXsrT93UIUEi93YNL4gJ2muRshDvNHf6B3wTWU,3280 -faker/providers/automotive/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/es_AR/__init__.py,sha256=n9pIsp32_UF_8tcyikJCK9loDKbGmZgLMW2OxhODk7o,2385 -faker/providers/automotive/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/es_CL/__init__.py,sha256=EzG2OAdtHPxd43zhdY6JmZW-VzaS71LAJjBsn08FBDM,1990 -faker/providers/automotive/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/es_CO/__init__.py,sha256=TApDlBiGxFPasAUtChgTHR1lFMBqKBcRcF8u1W-XuHU,359 -faker/providers/automotive/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/es_ES/__init__.py,sha256=h1_SitRzubQy395tK9Z7ZvRlqlfU8ZilIQI1o3-Uz8s,3940 -faker/providers/automotive/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/et_EE/__init__.py,sha256=rmhea7MB99a6z21sss5TJbpaiSDdqUdPeusTR2nJuIU,276 -faker/providers/automotive/et_EE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/fi_FI/__init__.py,sha256=DLapdfjW1rXCfxbWq8YAxXV7X4oysxGbqiz3l3z_q5w,276 -faker/providers/automotive/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/fil_PH/__init__.py,sha256=6LBWn74jiG4aNiwPIj6NCPcU40NizkM_PYZkxH0_0rc,238 -faker/providers/automotive/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/fr_FR/__init__.py,sha256=ahuZA_1P51v70KLQToGowTfRzJAB3ErXOxBO508AklY,374 -faker/providers/automotive/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/he_IL/__init__.py,sha256=WgeTTWF3X7H5iQqq-zkC0bFbWmCzeKAPjRmwCaYMaXQ,321 -faker/providers/automotive/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/hu_HU/__init__.py,sha256=ZTFx_kboj39ldV4YghoWGTKn6n39EkZL9kG-kE2yXu8,277 -faker/providers/automotive/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/id_ID/__init__.py,sha256=DjLdAnKW5fqfN9hz0HVnFNLjrEMj_C6l1mmAA1lMgcI,349 -faker/providers/automotive/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/it_IT/__init__.py,sha256=4xOHKjiqxrPvZ-9nXXj_AnJOMh6DF2fqngwIsdCIi14,312 -faker/providers/automotive/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/lt_LT/__init__.py,sha256=5BIZethC4BCQglEXuCFmVx00k4LEBwtnTbfexZ9OKRA,278 -faker/providers/automotive/lt_LT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/nl_BE/__init__.py,sha256=VRUXBk_xDmW7flYE1AeOQsWROo9h1i5imtnuFJO3Xqg,372 -faker/providers/automotive/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/nl_NL/__init__.py,sha256=Lh75VW8Mk615jrBLWjFrXIAHcfpdYnvj30Lmo44LICk,2533 -faker/providers/automotive/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/no_NO/__init__.py,sha256=AEeuKSN_kW6KwJq62vB6NNZVanTFTHW35UA4g2aOWhc,316 -faker/providers/automotive/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/pl_PL/__init__.py,sha256=vdooUZ93xy4tpDATFKw44dlRmehCCumg0MmWXt2fw7g,1007 -faker/providers/automotive/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/pt_BR/__init__.py,sha256=yh_Uo2ofIfzGmAAF6XnLCdhdimXnS-9mKqmM-dHMCyg,183 -faker/providers/automotive/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/pt_PT/__init__.py,sha256=Zbc5O4yx2n9v0aN8EBRFu80ud94tQvMx7CiFXCG86d8,391 -faker/providers/automotive/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ro_RO/__init__.py,sha256=wBp6H5YfUjIHLI2zZeAexfPLg2JbaK2LMYtvqSazVtI,1181 -faker/providers/automotive/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/ru_RU/__init__.py,sha256=Firj5uwhawFDhmj7ik2qgR0c0_EC-E1o18q6ay9KqiE,7827 -faker/providers/automotive/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/sk_SK/__init__.py,sha256=sUeJ8Ev3rsFgzjj_gJuFv_2gzQa60n484b3EVL1-61Q,2641 -faker/providers/automotive/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/sq_AL/__init__.py,sha256=2Tej6p6i1-OIB45uSohiGC7-Ky1yaEgBn2yaQ3Y4lzg,277 -faker/providers/automotive/sq_AL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/sv_SE/__init__.py,sha256=V3Sj71ponoYTOXtM1thv6e_Zg4QjhlmtVUYI7H9Tsck,428 -faker/providers/automotive/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/th_TH/__init__.py,sha256=iy5Xymqb02ore2hDwpxkx5PewDDAi98JNYrcNqlscl8,948 -faker/providers/automotive/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/tl_PH/__init__.py,sha256=V-UfvbMzKpy3fC6gf6ZwWpbE2cADlsUjt9Pv1_ic2BA,237 -faker/providers/automotive/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/tr_TR/__init__.py,sha256=uuUZk-y_D8EYjRQYBkRMnQQgHlaNRiSGmbY27igahRw,868 -faker/providers/automotive/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/uk_UA/__init__.py,sha256=aZcOGix3BrmoIB7VYDk5JovMNsRT7RQ6Ijzmb_vnBLI,7282 -faker/providers/automotive/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/vi_VN/__init__.py,sha256=3fLN8pV8sn6-hkdtQxlLPYIN4CjAYPe2WR7Udaxe1k4,643 -faker/providers/automotive/vi_VN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/zh_CN/__init__.py,sha256=_D_7JatNF2Cp4tekRv8sR3JH6gff2vTBb9sgKkKBEZM,966 -faker/providers/automotive/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/automotive/zh_TW/__init__.py,sha256=mwYvbc9X0XDU5vhfddRk0V0ZfZTdxfFlw__L5Pm7PL4,421 -faker/providers/automotive/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/__init__.py,sha256=iN7ZX8ND_diPL3-Ql3Ql7uwE8lKLSH4Vjv6FEP_q0H4,6121 -faker/providers/bank/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/az_AZ/__init__.py,sha256=WuXM6eVueoHbXz0_t2SKm0yWUsInbM2Qj2eh-KKa8Yc,955 -faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/bn_BD/__init__.py,sha256=5lQcloufMBTfSbH4k8gLtuz29fTOu2gFmE3gXHL77b0,1831 -faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/cs_CZ/__init__.py,sha256=uKxJaluEfv0aJkNpBj6TMfGVFzHJc5Kd01oMt9xZdTQ,278 -faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/da_DK/__init__.py,sha256=Cn-vRxcEoY6_48YyLCDkr_W0j_IhI5ahT7oAEl9Lk_0,190 -faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/de_AT/__init__.py,sha256=DkZxopZLhkJET5Nx-qMW4-oBz9x8yf5EICMtOkiH264,190 -faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/de_CH/__init__.py,sha256=ZNWRMxLgYu6NMn4BkiSsUNVcRlgD72VnAW4EBCZ8tCk,191 -faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/de_DE/__init__.py,sha256=DafW4SSvPywdjkvr5PENjdyTC6jNJpE8WH7-qiUFMSk,611 -faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/el_GR/__init__.py,sha256=JIy-cguS_48OIWNschWE1R5XWxR6mzkMcGA2gRl5xys,197 -faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/en_GB/__init__.py,sha256=eMa1JkjoMSmXzR01bjhlIztZy7anT3sZq9vgGxbNfkk,192 -faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/en_IE/__init__.py,sha256=tCxqA11nlfEEe5MHlXXSSdO5HZsZUPUaKPYrYdQPQog,197 -faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/en_IN/__init__.py,sha256=IcqxtDWQteVleHI0TfL7fDM6kg49GiOFZZKb9PSjypc,1194 -faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/en_PH/__init__.py,sha256=j21k6onGOdOuhQTClEPse7MtYgyQiaHG_6VgQVe_Az8,2690 -faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/es_AR/__init__.py,sha256=Xqrl3oyBgZlW_gXxAeVH-qGFTQptxRHltHHbkgAsA5Y,1113 -faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/es_ES/__init__.py,sha256=5s0Wfqy3nF6sIP3NWCKpAyjcUuD9Ge5YgBsPVKbDZwA,194 -faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/es_MX/__init__.py,sha256=8Tn0br1Z80Eovsj1ha2S1HXeA4ZbUeRb_BpIJBuiI-4,8015 -faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/fa_IR/__init__.py,sha256=eYjX8dIpEBa8Y-Q0VbLZcjj4d4g7bkpwMOb8z9JsbO0,1811 -faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/fi_FI/__init__.py,sha256=ARB5AC5mNQWVPKEjE1O2ogDiznqGcMXA4JaUcBrCGVg,188 -faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/fil_PH/__init__.py,sha256=jL38JArsznUIiT7yjm3exYbzVr5XpT-Pb1cIOBOu8Rs,220 -faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/fr_CH/__init__.py,sha256=GZdZnwswJgaZ4pQeqp3Wgt2baFysSwhORqV9kMb8FXY,219 -faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/fr_FR/__init__.py,sha256=bV3YpZVL6Q-9v5CQDk9QxE1ycTne8lG4RKqZpTW8_xQ,197 -faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/it_CH/__init__.py,sha256=VN9zfcAdGXO6yUVahVs1ngUnoNGjGX1GRtde1EV7wlE,219 -faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/it_IT/__init__.py,sha256=UkyLHp9pNCFMZxhCpaYtUjKAK8p1FMcM-wsGxwam8qQ,197 -faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/nl_BE/__init__.py,sha256=yQZtVmX5oGhphJ0-w_-na8nNBEdZezihOapXvKN1TYE,1325 -faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/nl_NL/__init__.py,sha256=E2WuR7_ukH0BHWwEiwEwsb0HjqBgEoWs85xbahFQLWs,188 -faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/no_NO/__init__.py,sha256=8vuUWSHL0HtL1XiaVUk9zRWTfBclu8tRpuj1kz--OZk,185 -faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/pl_PL/__init__.py,sha256=OC4m6gevUZtwLKWS16zpz19IDcDdDamEFAYkPFai0Wk,180 -faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/pt_PT/__init__.py,sha256=1s28h9Ry_DRAkHLlks51JgnuydcbphX2CYUGg3WqrLE,195 -faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/ro_RO/__init__.py,sha256=XUdb4-_DS8j25fjCtVlJ3Ee1pMro3q4hgboGmt4YTrM,883 -faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/ru_RU/__init__.py,sha256=lziIXugaUR2njyC-zftrA3gTVJ_Z30lv9Swva_X8ros,21826 -faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/sk_SK/__init__.py,sha256=EllC_qC_8QJJaWXmvr0cFEpsP9y28h9tfUEHveL-4pg,278 -faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/th_TH/__init__.py,sha256=n-hAR_AbCwQTo3laH8TwAe2lWmSsT79gDYc0HatNV3k,1059 -faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/tl_PH/__init__.py,sha256=9uJTBUjRZ2qwMsCKC4yicrPRAOxF3p_3rdKzIVNCUNs,219 -faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/tr_TR/__init__.py,sha256=IryjWWhyYj2UxBZ4uE66OMN0SOPt6JlkgUri43fQJUw,196 -faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/uk_UA/__init__.py,sha256=3PYeGxrLuA1U_81ASXjMH1Z4H3oc9FMEsODUjzxzTbA,2945 -faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/bank/zh_CN/__init__.py,sha256=ZkiIDWFx8ciF4sREovM-bSrOLo19TeBpFVMhKkKa8Sg,971 -faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/__init__.py,sha256=f05YFJ9f4HwkcS8DtePRNYdymtZXPJQPRaFaQsiYOBM,4001 -faker/providers/barcode/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/en_CA/__init__.py,sha256=erVdFjJHtGO8PindGu4tMp3gDFxAynHNXo3EpkGNBnc,664 -faker/providers/barcode/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/en_US/__init__.py,sha256=Pm1GLMKpsczLWMmFcGdvx9bXmnomb0hOOjEAhXCu6Js,11356 -faker/providers/barcode/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/es_ES/__init__.py,sha256=yFPm-ibaihF3INNd2vBY-Dty2opiD68YLxDiYwwAwMc,244 -faker/providers/barcode/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/fr_CA/__init__.py,sha256=b3TOrqO5VFLkbL7n1KCKLiGSlNSIvssl2opJ14uurww,217 -faker/providers/barcode/fr_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/barcode/ja_JP/__init__.py,sha256=cWO4SzSwY22xPjNa6IucoYbkYL3U_u-WZTSLRz6m_S8,1476 -faker/providers/barcode/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/__init__.py,sha256=X6oOU5LVWrSLrQH_09-TVb3Qj780gP8jPTCBf7EuNms,10452 -faker/providers/color/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/__pycache__/color.cpython-311.pyc,, -faker/providers/color/ar_PS/__init__.py,sha256=WXKqwIAiBVE6ZolTwuTi36ANQWzX_FHzhWyNKQil828,7143 -faker/providers/color/ar_PS/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/az_AZ/__init__.py,sha256=QT6B7sv_w6RNL9tWelU4J4J8ZP59Hub0D9yP0PJj4I8,2134 -faker/providers/color/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/bg_BG/__init__.py,sha256=N8FGk5VdUwFAoBOgNVexKJ-wBrK16LqGuaodF1IjBLo,3337 -faker/providers/color/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/bn_BD/__init__.py,sha256=J1xnkLbJU_UI8ZRxlIL-u1sZldtmVRwgOCtwJUQ1ExE,9083 -faker/providers/color/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/color.py,sha256=CU99xHOCo90uDwKIW20kuAcqnsVnQCZBcmB91BYWgmA,11787 -faker/providers/color/cs_CZ/__init__.py,sha256=c-8AVmYSV7M29aXletF0RFNNFhLm8qv1nf8lo4_Pepk,473 -faker/providers/color/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/da_DK/__init__.py,sha256=InG9KTOnHPfVnJzvWgN-H6YIt-__87ozzMW_79Utvdo,12725 -faker/providers/color/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/el_GR/__init__.py,sha256=Dme1-CDdLB6IfMAzYDKNkC3E7Xu6WgMETB1uUHlP35s,4247 -faker/providers/color/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/en_US/__init__.py,sha256=y1eCtGx6f7L22LkQD9c8UGReEDfpg3EeRXGx6ZrDdeY,141 -faker/providers/color/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/es/__init__.py,sha256=KI_tmNHBUTsS3R4iCzvVN3ASJoi-eBf-tbsWasrZvn4,6199 -faker/providers/color/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/es_CL/__init__.py,sha256=3_4HsuiFHDOY5W5oguzCxV8Qz_V6WsV2v8T1q9j4Kdk,103 -faker/providers/color/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/es_ES/__init__.py,sha256=3_4HsuiFHDOY5W5oguzCxV8Qz_V6WsV2v8T1q9j4Kdk,103 -faker/providers/color/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/fa_IR/__init__.py,sha256=1M1PGfsBQmzML6kM5ZRaXJUhclqzvPO7dJG3rjHnXgw,7079 -faker/providers/color/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/fr_FR/__init__.py,sha256=DwC9MaUXNPR43iEQ7NZCiOREhKV1ddofA58yeo9DGmg,6038 -faker/providers/color/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/he_IL/__init__.py,sha256=LeQIeVUJmGOaqFBWXhG_mg1dtrXoczzpxlZ_aw_vKCU,1729 -faker/providers/color/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/hr_HR/__init__.py,sha256=ILoGJu8zI0cVtKB4uVQYLzQh4gbqCRseLo003zX6R_U,6323 -faker/providers/color/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/hu_HU/__init__.py,sha256=wzYIJZwJGAuEmEiizPJLpfpdZTcaGMmA_T8Lw_hU_Gg,444 -faker/providers/color/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/hy_AM/__init__.py,sha256=8yHpVmgXtLsi-uWMlDxKpdkGhix_vcJOlTpZ2vW67HA,8297 -faker/providers/color/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/id_ID/__init__.py,sha256=XYsRfKRPAt7KJltDnt2tymweWurxlbhA9b_qjGOVVvA,1497 -faker/providers/color/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/pt_BR/__init__.py,sha256=9FldahHf-5tJukZZDQyj2pLBlzlADS4bKXuimvsS3og,9674 -faker/providers/color/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/ru_RU/__init__.py,sha256=rHEWrwQKxtHXsUlzZPC64OEV9K91An9m8XCQDI_t9gA,3402 -faker/providers/color/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/sk_SK/__init__.py,sha256=eQgcZ0Q0LnKtgu2kmlTko8Q0TgHNhoREV-CcNswAtyQ,469 -faker/providers/color/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/th_TH/__init__.py,sha256=JamKbNLRCvflxeRM9GolpJh8oRDHr-RPFKUuOGq37DQ,1660 -faker/providers/color/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/color/uk_UA/__init__.py,sha256=_tt8ylj80cBkKG32jjpyq3QdgDwprqPkpfgARbUxW90,11365 -faker/providers/color/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/__init__.py,sha256=iXxsseYVhNLydh_oWbxbVNRsDqLYg17BjsbynblLU8o,13671 -faker/providers/company/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/az_AZ/__init__.py,sha256=P7s-2394sNQjeXuJSgANajPOfpfHisIYqBWCz_7VfD0,1274 -faker/providers/company/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/bg_BG/__init__.py,sha256=ci4eH0jgygf5fm6wu4Uo73jIezlLCJczm6DKn_NJCC8,552 -faker/providers/company/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/bn_BD/__init__.py,sha256=et28OebIYjXEO5sd0KHyaOz-BQAPz7TsyZsdoMO0MNA,30242 -faker/providers/company/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/cs_CZ/__init__.py,sha256=BYHBFwrAn0Dh8f-QwyOlNZZCmNLWKc_61UpR04R9CAU,441 -faker/providers/company/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/da_DK/__init__.py,sha256=LOTHenSq7saJIpZEWn1Ajs0q1qEtQHoxU8IU4o5_WWA,317 -faker/providers/company/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/de_DE/__init__.py,sha256=KZ0ZLA8f2O6O351EArd_JBWsyZJxpsP1-dbLVTsHTa8,753 -faker/providers/company/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/el_GR/__init__.py,sha256=WKAb0hIZr_pvTp1R_SlL6pRSrkmP1emmIIQ2we73M6I,423 -faker/providers/company/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/en_PH/__init__.py,sha256=9gu3Sm7awlo7dNmswv_1jLEJWIk3YTrY00mhZToIFDs,3694 -faker/providers/company/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/en_US/__init__.py,sha256=8iajs1xeJO31A4EIkZifNcDFyg9MbwBvnA6SWeY9Ioc,87 -faker/providers/company/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/es_CL/__init__.py,sha256=gnZag_GpMCeDfhM3RZrweTLJi9TEM-as_1Bpsqs-JBw,11630 -faker/providers/company/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/es_ES/__init__.py,sha256=tsAHJ8ytx3faQX-pd29FYRB-SPp98hTsREHZTDzGwrk,3469 -faker/providers/company/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/es_MX/__init__.py,sha256=DSN49wz33COso-nXYjy0eR4vLlRuq-EP6FZ636h7FSk,11497 -faker/providers/company/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/fa_IR/__init__.py,sha256=9lCrhcHZSANKnzyR4tuuAAcdlPlCJHAiP7mYvrqrBxY,49815 -faker/providers/company/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/fi_FI/__init__.py,sha256=MqAMX5DoIzw-fY7lWT2-B0XvAkEETqXAHZvegRNm5uM,2067 -faker/providers/company/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/fil_PH/__init__.py,sha256=N1ZROkDmaRqTRjVIDaOyXNtHIfL6Qe8cBo5PTytnSuk,2750 -faker/providers/company/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/fr_CH/__init__.py,sha256=s6ZvVXct0BGrg01W1WyYgLP0-4M6krJ98ORYddX6NRA,1313 -faker/providers/company/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/fr_FR/__init__.py,sha256=6Q1noYfXeDpJ_LzmcL1f1MbJZrxCVNVnghXPIwdD4LI,4368 -faker/providers/company/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/hr_HR/__init__.py,sha256=r6ISf02XRoqAzJUSbhyuLwYqzYag80Yhc22si3B7Zug,313 -faker/providers/company/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/hu_HU/__init__.py,sha256=cpFAvPErWL_xfr_XEySrsCDxUx27ZWdM_qFqu5HMAD8,488 -faker/providers/company/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/hy_AM/__init__.py,sha256=tLL6BpCusHM9Aed5L8pSnTv_jR-DMZljhLkJMu2D6ck,9890 -faker/providers/company/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/id_ID/__init__.py,sha256=QwAqM5itG2IGO8mW_fpiZtU3Z0z17jgSOfvjfEfrxtw,933 -faker/providers/company/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/it_IT/__init__.py,sha256=GH0SZFEWtYTYZnvbh9hCMwV1V5RWNI3OPoeghCtr6KA,9716 -faker/providers/company/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/ja_JP/__init__.py,sha256=SsVIVo1zPSyWTf8gjJZLXHkJ9tSjHuLvxf6NhTBc7s4,762 -faker/providers/company/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/ko_KR/__init__.py,sha256=vEcWlwK9CnA5Zi0gqBpKyYfI-hyZ9RAZ2S7ZvgjzP3s,9720 -faker/providers/company/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/nl_BE/__init__.py,sha256=8Q7Uu5BfCs86O2vc1QBAbLEEAWMtkwkG-_mcOnCR114,336 -faker/providers/company/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/nl_NL/__init__.py,sha256=HsZPxJEieU4PbCSfyYMc5J4MxPTvSUIBFQg-tPZ4fZQ,11853 -faker/providers/company/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/no_NO/__init__.py,sha256=WUTr2LIwaNzxFWpfe8RMrB5W-OSK-kSoaKDpNyG9J5U,534 -faker/providers/company/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/pl_PL/__init__.py,sha256=b47P2tlF_r3jX68KevtdlA3YmmA9eatoZ5UVvh9Yh-8,3911 -faker/providers/company/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/pt_BR/__init__.py,sha256=0uDZMB_yfmb1rNWqz5ogNifNbKvg8pWJlhYBTo0s8S8,2973 -faker/providers/company/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/pt_PT/__init__.py,sha256=GjPDmeSDgRwQ64FUU_iQ1dmzJyUpfeT6Ch6h6gIos_A,1198 -faker/providers/company/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/ro_RO/__init__.py,sha256=HcmWPs_hhuxUMvY6nLL-4vQoF5nYjwMI0bymbK6WMB4,638 -faker/providers/company/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/ru_RU/__init__.py,sha256=nJnTxdbP7u7Hrv8E67Led1wkraFj22IsEWnNPZ1_P-M,45104 -faker/providers/company/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/sk_SK/__init__.py,sha256=5zkJHh6tZUyutMiLXMoM5F9zI0mpBJ2o7fn5yq-g_EQ,327 -faker/providers/company/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/sl_SI/__init__.py,sha256=iw63b_ao5ectil-gJxk1s4Gt-CkNnxG69tg4iVvhE44,255 -faker/providers/company/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/sv_SE/__init__.py,sha256=lWvKROauIIHVQPZapk2tVbeXZAZ0QKyc0oKCBRmIa_g,322 -faker/providers/company/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/th_TH/__init__.py,sha256=fKUVsseG_0neoz0s1SXZBeM4KxGzinUcUjVNHLRKrk8,4173 -faker/providers/company/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/tl_PH/__init__.py,sha256=HDkU8zEC6SQ0gTPHk8flWygcQMr0gKGrbGUCHp9Tocg,154 -faker/providers/company/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/tr_TR/__init__.py,sha256=ghec8zgjAMFPUPKBAIQ0VIGY8GDwyPb4xoEvKNQNGls,3430 -faker/providers/company/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/zh_CN/__init__.py,sha256=Jox2uuzDjowxqO9MX7JFDP5icPqp6qnCza2n2xgQvTo,2164 -faker/providers/company/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/company/zh_TW/__init__.py,sha256=5CSx0-bmlTcvR9RHN3cmorH99ji5oA76EM-XOd6AsoY,3054 -faker/providers/company/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/__init__.py,sha256=optJ_MD6cuHdIlrmgvHaNeu-o6otD3a3XE--QTbMBug,7190 -faker/providers/credit_card/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/en_US/__init__.py,sha256=FXWtulWlWrlsWdYCtEugki5iRjbPP2O7Kgd7X-xFsbY,157 -faker/providers/credit_card/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/fa_IR/__init__.py,sha256=BhmowYZCuosRrdag95IQqBNxR_7e1_bRnl24RDZsDP8,5190 -faker/providers/credit_card/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/pt_PT/__init__.py,sha256=5cEpu_FDLW9QpbHi5oxng1CPZo0ju86B9fthI8Zlh6Y,5671 -faker/providers/credit_card/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/ru_RU/__init__.py,sha256=fIWwK0H0POO_jnsxbOPFbbHme7yuICw79BAm9xT1kpI,3179 -faker/providers/credit_card/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/credit_card/uk_UA/__init__.py,sha256=yfsAz6Tw9UhiMqblyTqH7EDHg_6MKBURA5EJUAI9cDk,2119 -faker/providers/credit_card/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/__init__.py,sha256=dQ3eTK4pd4vL7yn10iLhc0tEL25XcLjjNETP-lLXJrQ,12854 -faker/providers/currency/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/az_AZ/__init__.py,sha256=CfoLAFyvvdjie_v5Rmx4QfZYEJa1KqsM1A4hrOmivc0,6635 -faker/providers/currency/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/bn_BD/__init__.py,sha256=_6iD5g_9CRRczvEhAPxdKd5cgqEBW1t799Ad_f6GUNs,13781 -faker/providers/currency/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/cs_CZ/__init__.py,sha256=k9UbIlf8x254bUalufFj5ksmBx2bTrkC8z0AbhJhFoQ,281 -faker/providers/currency/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/da_DK/__init__.py,sha256=GRcoW3ei7riNavee21WcMY53fD3P6cVJI0Jw8WuS2vw,257 -faker/providers/currency/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/de_AT/__init__.py,sha256=2rA0rKOSQyO_Nb8O4SfJZPcKSDJg9WgXoKujxvBG0po,291 -faker/providers/currency/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/de_DE/__init__.py,sha256=GOAf6WBDRMbGm0YXGEdZZj6bSfK6jz1Omb21TITm_zc,284 -faker/providers/currency/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/el_GR/__init__.py,sha256=9juklVWqhqmVzMwfG2Lu7mYFKRiJV9sUEN2mq_h4VNs,7622 -faker/providers/currency/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/en_AU/__init__.py,sha256=ILYiA02qBtU74SPjigmrvXxZI4Nrj0T4DkkVooh7DwE,279 -faker/providers/currency/en_AU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/en_CA/__init__.py,sha256=7SfuYTZ4Q8UzPFLgUmDzdD9ZpfyvCBNjB8BgCcObrZI,272 -faker/providers/currency/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/en_US/__init__.py,sha256=nFcnjtAfq_3Nsko7cicJ8HiktSqo0hLOj4oVM0zv9Kk,261 -faker/providers/currency/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/es/__init__.py,sha256=2sfABTGGXzDtd4oa7cYZf-4yvtLOsNZkrQKhM_lTri0,6081 -faker/providers/currency/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/es_AR/__init__.py,sha256=OZpLLjvnUNpcB49RZrslsPDGp5ANly4sFPzdYv5d8YY,281 -faker/providers/currency/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/es_CL/__init__.py,sha256=HLL2wUDYp5KzXmmS7TY2i-DmE_u1yqDeT8DPTU8iys8,304 -faker/providers/currency/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/es_ES/__init__.py,sha256=QEFQ_obAYbPzEHm47jzjnSGpJEvHnqw3byJ0uTpfHwI,293 -faker/providers/currency/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/fa_IR/__init__.py,sha256=wT21x1fSY7Zemq3ZZSw1mJS_JKuec3wpaKJANFGqRJI,292 -faker/providers/currency/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/fr_CA/__init__.py,sha256=W0duipPHRUw9HreAMLW33v9110l2_yIE8_RiMSU2PsU,279 -faker/providers/currency/fr_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/fr_FR/__init__.py,sha256=GOAf6WBDRMbGm0YXGEdZZj6bSfK6jz1Omb21TITm_zc,284 -faker/providers/currency/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/it_IT/__init__.py,sha256=GOAf6WBDRMbGm0YXGEdZZj6bSfK6jz1Omb21TITm_zc,284 -faker/providers/currency/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/nl_NL/__init__.py,sha256=16yotcIRAJ1N1Vgdg9CPYWKIKerlgzTPKlaIFvwOPzg,295 -faker/providers/currency/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/pl_PL/__init__.py,sha256=fDknruPsarHdSnO-lSvgH_pK0DnoryFXjYHjeaYX1E8,281 -faker/providers/currency/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/pt_BR/__init__.py,sha256=QMPCjxJ0AitF8eq4gzuUtwE6fdmNcvDMoUeazUY1Mlo,262 -faker/providers/currency/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/ro_RO/__init__.py,sha256=ZmmhU0adj4-UG9QV9VEnzmLyMGhjHc9V7w7GvU7PiuI,281 -faker/providers/currency/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/ru_RU/__init__.py,sha256=Y__B-151Mog3AMyNgX4Z9yt8gOykah2M1Vrhk9o_KrQ,8246 -faker/providers/currency/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/sk_SK/__init__.py,sha256=GOAf6WBDRMbGm0YXGEdZZj6bSfK6jz1Omb21TITm_zc,284 -faker/providers/currency/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/sv_SE/__init__.py,sha256=vg9F4IMCGU95laSZGWzyxO5Tx5drubOjxFxjWnNwaRs,5844 -faker/providers/currency/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/th_TH/__init__.py,sha256=pnb7pwvGHTZ_oW1aQO0d8EREwYRuvtrQgA62-TJkluw,10596 -faker/providers/currency/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/currency/tr_TR/__init__.py,sha256=ghzNicez5muamsOmGz5P84dTjUQo75AhFb3XBoyKUJc,264 -faker/providers/currency/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/__init__.py,sha256=bU7I6X_Z-gFXWXfAtoPLQZqG-4Ln5X-IAcFXmq07oc0,80234 -faker/providers/date_time/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ar_AA/__init__.py,sha256=WSXgTmWdWVaaViuf__gDTGTyO8Dob5ZR4m-eNWjZ7zc,59445 -faker/providers/date_time/ar_AA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ar_EG/__init__.py,sha256=FJexLchCVyc2vXZTn3L5jtmMACSRVzhgcZD_phM5VTI,465 -faker/providers/date_time/ar_EG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/az_AZ/__init__.py,sha256=AmAeTXwhcjUoTOcDieq3paLdSt8iM2FpOH5YZtPcxcc,803 -faker/providers/date_time/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/bn_BD/__init__.py,sha256=rY9w05ZXFymZ-UWBAeCJvkGi0fI4eu4SHhGZ-V4FzgE,70951 -faker/providers/date_time/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/cs_CZ/__init__.py,sha256=KeHYX3xJ_1rNYxQZw0GS9NCCEPIuGMXwfMRwDJ-adxM,784 -faker/providers/date_time/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/da_DK/__init__.py,sha256=s27sDoJVJv8Z3z7YlGr7mzwhFkLJo9_YlNELsObrXzQ,773 -faker/providers/date_time/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/de_AT/__init__.py,sha256=NtjN70O6xX6jR4YcA1UPNKSSzNc3vgMlHAtQRecEubM,780 -faker/providers/date_time/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/de_DE/__init__.py,sha256=jVo-7bIDmu2L-qoqn9urwmy_rqrwerg18rI9Mcwwtjg,779 -faker/providers/date_time/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/el_GR/__init__.py,sha256=RcEQm7UHFBtgGBfFEjBIKWE3rKYjDVH84qPM3GYxePc,956 -faker/providers/date_time/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/en_PH/__init__.py,sha256=3x1DLhizbJsjJEliOABsZ5RVdbANBY6ODeZxzFIzLME,144 -faker/providers/date_time/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/en_US/__init__.py,sha256=NGaWjgCkr-Ae3_DkERfa4tWtJipCiySJXcyE3nBfBcg,89 -faker/providers/date_time/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/es/__init__.py,sha256=0Jdfn_m9ZGZgwsVIttOvWsZ71mBTuoEDrQZxRQuUCPU,779 -faker/providers/date_time/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/es_AR/__init__.py,sha256=2OZ8pheot7Iuk3zMoCcorO1QN7X9ibTjWPw0EVhlRG0,91 -faker/providers/date_time/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/es_CL/__init__.py,sha256=2OZ8pheot7Iuk3zMoCcorO1QN7X9ibTjWPw0EVhlRG0,91 -faker/providers/date_time/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/es_ES/__init__.py,sha256=2OZ8pheot7Iuk3zMoCcorO1QN7X9ibTjWPw0EVhlRG0,91 -faker/providers/date_time/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/fil_PH/__init__.py,sha256=rACylLm3Bh_8Np2MQkkPRVtkmZ7G7-uZSx3NT23tgLE,829 -faker/providers/date_time/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/fr_CA/__init__.py,sha256=WaGDKJOi2Kl9IuNV2QgYZKTd0gHZxmzit7YxQv2FQ_Q,202 -faker/providers/date_time/fr_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/fr_FR/__init__.py,sha256=F7aEopTRf63evS5ffH7EgjOwzJS_t3HGyHGkSnbP7N4,788 -faker/providers/date_time/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/hi_IN/__init__.py,sha256=nA28FPNJh2mCMYBKScge5RV327elj0mRxVeIkuW66pg,1065 -faker/providers/date_time/hi_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/hr_HR/__init__.py,sha256=tZ2QgF2fTRMdSpm6TxnoggYPKzf-Kn7GfWdoouuXC5I,885 -faker/providers/date_time/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/hu_HU/__init__.py,sha256=lpcm1K62j6Yf_3WtzgYf0PpPfy1pxQlxTthbMdIXTSo,894 -faker/providers/date_time/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/hy_AM/__init__.py,sha256=ZM7e8RDIa0CNrS9hoBkfCbObrPpFnKQlrIWIeUEi4jg,928 -faker/providers/date_time/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/id_ID/__init__.py,sha256=ctNNZLNtOORLBVG1OwPEmwqjhXrPDcD-3inYa0GDzPk,861 -faker/providers/date_time/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/it_IT/__init__.py,sha256=_u4qifuTEZWcRMjUml0aFalz6TRiyt8QOGeayXvExSU,791 -faker/providers/date_time/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ja_JP/__init__.py,sha256=GDo1NzA7miIX3kiZGrPWnPVtREfpDWCemPt6tVaymA4,1267 -faker/providers/date_time/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ko_KR/__init__.py,sha256=6fNHRCg496H8xhb9CrivvjJAwEG_HVdvpWWRA9ufd2o,862 -faker/providers/date_time/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/nl_NL/__init__.py,sha256=yQLP1CU8zO2u8x0z-GI1KpYcynvl3YCMyullvyGnPY4,782 -faker/providers/date_time/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/no_NO/__init__.py,sha256=Gl-SDZx_kiE-x4XsFO2JP1YuS15FZg6YzBrV7aw4s0k,784 -faker/providers/date_time/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/pl_PL/__init__.py,sha256=N3gf2pTZN1vEtx0dzY-MKQXFLUCE4FPJPvJRqbjRrPo,800 -faker/providers/date_time/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/pt_BR/__init__.py,sha256=ZAa9y4h8Q52bE4fBKHE2DK_kRQh2UTXzC5ev3N4h-os,806 -faker/providers/date_time/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/pt_PT/__init__.py,sha256=ZAa9y4h8Q52bE4fBKHE2DK_kRQh2UTXzC5ev3N4h-os,806 -faker/providers/date_time/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ro_RO/__init__.py,sha256=rQNX_dzvGLdGXfj_H7uRneqEvhZ1X4eCngyqhIo2TAA,781 -faker/providers/date_time/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ru_RU/__init__.py,sha256=lh8U21Ja3q2slxRYgrR3PZBHZXl9WikeJdPDEIsrjG8,53526 -faker/providers/date_time/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/sk_SK/__init__.py,sha256=-N2B_H9Db0ceyXcKaymgvYeAov4fg6O3LzsGZiFeHW0,778 -faker/providers/date_time/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/sl_SI/__init__.py,sha256=OxbirXD_uNkunM29lOBMB6eENLMP9drlO7adVfOlbl4,788 -faker/providers/date_time/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/ta_IN/__init__.py,sha256=q7fc51j9kQFcUL19_Fhm1GqjO5FurgZF6MKrhjvOwdg,1079 -faker/providers/date_time/ta_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/th_TH/__init__.py,sha256=OSxiwp7qpdt3fsfrauFfJ6cwlIKh4HMts7xynvP59D4,12305 -faker/providers/date_time/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/tl_PH/__init__.py,sha256=M2YFecTd0Yft1z5XQMJRf1hw2cfOnyc36izu99W9o8I,155 -faker/providers/date_time/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/tr_TR/__init__.py,sha256=iCZn6OskbNHjZcgKVR42pnN_LYUGoyj39GrHq_IrpKU,774 -faker/providers/date_time/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/zh_CN/__init__.py,sha256=wYku9jvwDYZjGpXsDV6ipk-5ou0gJE39mtTALxWCvW8,808 -faker/providers/date_time/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/date_time/zh_TW/__init__.py,sha256=E6cVXh5kRsLnuSGOBmh1Cg13T0Hh3RcrdTzmPMhOa_4,907 -faker/providers/date_time/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/emoji/__init__.py,sha256=PHTe3Qqg1d21tqDh3FCAna_K04ZETNa1AW7HyEQ_Voc,79624 -faker/providers/emoji/__pycache__/__init__.cpython-311.pyc,, -faker/providers/emoji/en_US/__init__.py,sha256=0zdt4YtCNlIn54Bi-XrIxoq8R2KixE-MJLfs0fJtazU,83 -faker/providers/emoji/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/file/__init__.py,sha256=dMcwnIVpDPQdPn5YsLZYQ2w-YPXV8AjE6JOGeSHjvww,14904 -faker/providers/file/__pycache__/__init__.cpython-311.pyc,, -faker/providers/file/en_US/__init__.py,sha256=UYkUQfPQkwJR5RBve6PBNFkXmvVgIIcW7cefOXShkSs,81 -faker/providers/file/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/__init__.py,sha256=93Qq_OTbmQ0AFfv13AvMCHaBu2ugnQ6CImdCA_bhHa0,71543 -faker/providers/geo/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/bn_BD/__init__.py,sha256=31RRk_iECYLCitwqBj8_T5nKScSj7Y-MwiDXbFQgZV8,113248 -faker/providers/geo/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/cs_CZ/__init__.py,sha256=asvcqn3vFG846ynQEP8VOGlL9Sw_IxYI8vleBtOFIWU,11643 -faker/providers/geo/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/de_AT/__init__.py,sha256=hWfVqwf_LmqXUjabvYA00Vat3ofhLXCZXpkkJqUlea0,299 -faker/providers/geo/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/el_GR/__init__.py,sha256=j3PEREcggYq2qfxG3vGlFAFq9es0DrYmlsBpTLvrU7A,966 -faker/providers/geo/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/en_IE/__init__.py,sha256=1ZAM3et5j3iBllNI5H4RjmycOcVNCSDIe0xCmhAAcUk,3029 -faker/providers/geo/en_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/en_US/__init__.py,sha256=ezR0GcDrcQClOYJa3kSg56L60wmm5UeBzU92e-aCnig,81 -faker/providers/geo/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/pt_PT/__init__.py,sha256=4EEsm46I6n06XtDIufLpLDX0TfJ3wdcmthrYZANfD5k,2669 -faker/providers/geo/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/geo/tr_TR/__init__.py,sha256=Tr0BSOPniltOkaz8asOkROH_3XSIfZ5vc1-jQUrTw1g,6742 -faker/providers/geo/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/__init__.py,sha256=CwB-uT3x7aUseQN74q1t7Gtyiosfc7Q4mHrTf0FPnME,26923 -faker/providers/internet/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/ar_AA/__init__.py,sha256=-IjSWVdSdHNx6jEcGYZm4d0YrDP_tTVQBpxAs3dX8tM,1094 -faker/providers/internet/ar_AA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/az_AZ/__init__.py,sha256=oPsAAy_-52dsM9_GkP1xRdK0cYoRb0Hz9IR16QXkCbs,1061 -faker/providers/internet/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/bg_BG/__init__.py,sha256=CXtcNvaDZ8HyP7g-2npo2k4fNQjWGjsY7tF9q0egnAE,2473 -faker/providers/internet/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/bn_BD/__init__.py,sha256=7zsxpK-ZU-MfLD_7W5jocTIVwZy67XBEZzFOVq2hgXU,500 -faker/providers/internet/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/bs_BA/__init__.py,sha256=8IWp6rSXo5DS4D_wjYi7wvwIbXQbDd_aMb1RSEpQ5ok,565 -faker/providers/internet/bs_BA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/cs_CZ/__init__.py,sha256=jWshMTEEbDuEvldXyDxwPqlmmAzY6TrZf80unvSXcq8,802 -faker/providers/internet/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/de_AT/__init__.py,sha256=SSTk9zgUfdO1VBPNsPh2eaGcrWRtvJ77WGOKnUDZuWQ,423 -faker/providers/internet/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/de_DE/__init__.py,sha256=oAfsZF8VKVsqVkLFeEmvWLU5139iEk-_jN-uC4y9_xY,587 -faker/providers/internet/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/el_GR/__init__.py,sha256=TEIlh9VwWET0q-G6w1I4m_GWwsUzcwqJ2MK_ApVDu28,2430 -faker/providers/internet/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/en_AU/__init__.py,sha256=TLSiIg4G-zXlHqlQXjiDwdJInSWHZdHBvCLwKhiMKWM,411 -faker/providers/internet/en_AU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/en_GB/__init__.py,sha256=bMZHxR6sfjtpuXIJ8VjkCn100oT_1FpwJ0u6pCdi8OY,552 -faker/providers/internet/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/en_NZ/__init__.py,sha256=JzR3JmySxot6GJ3UkzrOl8eMESTIvUKKIKwSqmczUWg,425 -faker/providers/internet/en_NZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/en_PH/__init__.py,sha256=lpyxcgyMtW2Qt835HVoEbpl_myzKTjGVlD57NKIMV3A,2097 -faker/providers/internet/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/en_US/__init__.py,sha256=LHT62H6EI01-hSPOVLfnnXM-wgRQcxjqfQ8dYRWaOXo,89 -faker/providers/internet/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/es_AR/__init__.py,sha256=NihEPQgbBsQNmydYCLwGhPMWOgCDmJG8mkjLqjYUxac,498 -faker/providers/internet/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/es_CL/__init__.py,sha256=zaU810dUvgi9Vyt5ytT943ihgN9aIGRXoWKf5NZjTYo,912 -faker/providers/internet/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/es_ES/__init__.py,sha256=j2UVCRto3Awxuvlv8PELsddsbHINE7CTEpL9AxZ5VQw,494 -faker/providers/internet/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/fa_IR/__init__.py,sha256=35BjJrtopP5i9xXdCX0ED-4NO0xsRTzREOXixaVNDxE,328 -faker/providers/internet/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/fi_FI/__init__.py,sha256=SvPRspVOPy0xMLGb1rWsCCLeZUEuHkIbWVOO6Kev_XI,332 -faker/providers/internet/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/fil_PH/__init__.py,sha256=2ZCfY3vfQvpS7vQy7cHssGf_xk50cxFG2hnHJzE8WQ0,167 -faker/providers/internet/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/fr_CH/__init__.py,sha256=iDGea1nm-5McKpqG_yLHeR7-mEKWXSOLKxDDW-1Q10M,770 -faker/providers/internet/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/fr_FR/__init__.py,sha256=oLo4bDzwF3TWUhrWHqQ0-FCmqIGKszV-F3rWRvqXOpc,932 -faker/providers/internet/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/hr_HR/__init__.py,sha256=2GKUN_P95WcziR5NytU_Ql5vw0XjQbk39SW97ngElcI,664 -faker/providers/internet/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/hu_HU/__init__.py,sha256=w0T5rRAiRr-t-rkJw2TVZAdn3jinSlQGmJ9NyAYB6Zc,523 -faker/providers/internet/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/id_ID/__init__.py,sha256=GV4RYOUeR5nTtmCmusfyJiKahNX9WxIxM7-m0hyM2tw,562 -faker/providers/internet/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/it_IT/__init__.py,sha256=cj9Pt3pB0rP26cD9REXg4AdoqvPJQ8aIytKt4R6jEJU,828 -faker/providers/internet/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/ja_JP/__init__.py,sha256=8G_LyyfnoLKliKM0clr8WwIGWrEMqs2bYCAV6A6wm_8,523 -faker/providers/internet/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/ko_KR/__init__.py,sha256=j_bME4uTGKU9BT81JH_bwi1NVm-FvhnQFuBatrDOHL0,344 -faker/providers/internet/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/no_NO/__init__.py,sha256=aVaw6eSetD7XiYlxIIndqjbNu3KvEOh3TVjmvUpSwXs,449 -faker/providers/internet/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/pl_PL/__init__.py,sha256=GI5d0u9kQdPxBO2hPHmZSdCswpyzS71y_CmyHg1EIbU,519 -faker/providers/internet/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/pt_BR/__init__.py,sha256=1T2hXYETz2NPIE06J9LwRAG_NJrbu4WdaUKWkPLiiU0,618 -faker/providers/internet/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/pt_PT/__init__.py,sha256=Tn8MGCM1wGbcHTvAcAMlwGyJiikNimzN6n861MqJZvY,270 -faker/providers/internet/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/ro_RO/__init__.py,sha256=OJzpqsxVqjQ5Uge9D7QUTg6TsTHQwqDD5gM9gmUzuTM,795 -faker/providers/internet/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/ru_RU/__init__.py,sha256=W50RCBvWwuUBPf24XIv6vAFaWn6sRlkw41DHQqs8q9o,2234 -faker/providers/internet/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/sk_SK/__init__.py,sha256=sz65OYIkZ--nLRqHkdoJrrgiP9a_5cb6PVT3hmE5xVU,854 -faker/providers/internet/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/sl_SI/__init__.py,sha256=O_NNjwWkwQk17HLo1_vSBztsk4QPhiKBkEeTml_t64M,1219 -faker/providers/internet/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/sv_SE/__init__.py,sha256=-tZxrl07AwE0W16bJT61_mvrTtciUabd27QmL1cO0E0,481 -faker/providers/internet/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/th_TH/__init__.py,sha256=Ekl8yDXegwOGargJMfotSKSMcXrCvXP2YHIHUa5Wau0,670 -faker/providers/internet/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/tl_PH/__init__.py,sha256=2ZCfY3vfQvpS7vQy7cHssGf_xk50cxFG2hnHJzE8WQ0,167 -faker/providers/internet/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/tr_TR/__init__.py,sha256=7AxLZaamXHHgYwLq7IRiYz_QcrjxgdC-4-3LO35Tsgg,563 -faker/providers/internet/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/uk_UA/__init__.py,sha256=CUiM054Qyh3JeeIXvTnbDK5UaIJkqtXgWh-MzueZNtk,1722 -faker/providers/internet/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/zh_CN/__init__.py,sha256=RwddnVSsrLA1zQLMg7ETZd6NIaU7abruEqLs4dJU1NM,2550 -faker/providers/internet/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/internet/zh_TW/__init__.py,sha256=7bZHgQC1LN57Uvy5jr0_5unhDriFqJ4AAwvDpYWUGdc,516 -faker/providers/internet/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/isbn/__init__.py,sha256=8WgBYm-12lgnGtrXnghgy4bFylP0TwcKW5SqnWC0uHc,3024 -faker/providers/isbn/__pycache__/__init__.cpython-311.pyc,, -faker/providers/isbn/__pycache__/isbn.cpython-311.pyc,, -faker/providers/isbn/__pycache__/rules.cpython-311.pyc,, -faker/providers/isbn/en_US/__init__.py,sha256=Iec3G6xQp2Yn3CPpFFiF_OraCqld9fTjzn4qeit2udU,81 -faker/providers/isbn/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/isbn/isbn.py,sha256=jepmSF0yt4vllW9d010q4e2bFl3AOk3XGYglzPlQ-NM,2679 -faker/providers/isbn/rules.py,sha256=duwIzT5VoJleqoVO8Lu7y4xdrXmoYonpSzx34YxPOGU,1824 -faker/providers/job/__init__.py,sha256=3JR4fQoz52VH4IJSyG5euUZG4MLZ84VHg9FCZSWDfkI,21167 -faker/providers/job/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/ar_AA/__init__.py,sha256=r-aYUi7hCk3pi4hQwVtR5BELkCFt6rErG_0FKrd2f8A,3633 -faker/providers/job/ar_AA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/az_AZ/__init__.py,sha256=kBgGAGC0V8211FQycbbCC4iEqY2fhLUQfEsq4EdBxbw,2636 -faker/providers/job/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/bn_BD/__init__.py,sha256=HjufIqNQMJTTabsuu0ug-rx0MtKMexhDZC0G6sxAGZU,44681 -faker/providers/job/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/bs_BA/__init__.py,sha256=FL-KLKzfVbOP5hkWI3lTnVTh99TEuirWHvVLHgUOr3c,179846 -faker/providers/job/bs_BA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/da_DK/__init__.py,sha256=tTMIgO_HbiTiXKl84biFZjKGJfuhqvZDdWxOGcRmlzo,25577 -faker/providers/job/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/de_DE/__init__.py,sha256=LHmjjLpXoO03SouWI1kAl2QI5DZeQeDa406_FzSmvBA,953 -faker/providers/job/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/el_GR/__init__.py,sha256=TE_gfN8vAZvb-3Gr0LL8E8OT8LyT0llvMZ4iXPzb-f0,26642 -faker/providers/job/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/en_US/__init__.py,sha256=ezR0GcDrcQClOYJa3kSg56L60wmm5UeBzU92e-aCnig,81 -faker/providers/job/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es/__init__.py,sha256=C2SmDfVAq0Bb_XqfRO3rJQenfjvqvVWK-CBGRZ_lBOo,19215 -faker/providers/job/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es_AR/__init__.py,sha256=zpnbMPV3lEEEpzZTcuqDY82dAIem6diPe4NaGSbaM2w,83 -faker/providers/job/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es_CL/__init__.py,sha256=zpnbMPV3lEEEpzZTcuqDY82dAIem6diPe4NaGSbaM2w,83 -faker/providers/job/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es_CO/__init__.py,sha256=zpnbMPV3lEEEpzZTcuqDY82dAIem6diPe4NaGSbaM2w,83 -faker/providers/job/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es_ES/__init__.py,sha256=zpnbMPV3lEEEpzZTcuqDY82dAIem6diPe4NaGSbaM2w,83 -faker/providers/job/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/es_MX/__init__.py,sha256=zpnbMPV3lEEEpzZTcuqDY82dAIem6diPe4NaGSbaM2w,83 -faker/providers/job/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/fa_IR/__init__.py,sha256=MGvAhvmJort96p0wpsD_EmeVMyoN84uPfObUW3_dCcw,2433 -faker/providers/job/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/fi_FI/__init__.py,sha256=FZ1Ex-h5FcYOSIrUJ7LoZpEOBBuQiVQY444qyYz-jTI,6120 -faker/providers/job/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/fr_CH/__init__.py,sha256=iDEC79BJOBtb175l3Go2-ws5UUQFWO8h7uXGKOoW8dg,43169 -faker/providers/job/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/fr_FR/__init__.py,sha256=qp_F04WZsWZkOmXWoaeaBy0F7uXaFpZZdJw-bQe7Vak,29131 -faker/providers/job/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/hr_HR/__init__.py,sha256=fad2u7FK17txNG5fO6Dukw1AfYvUaHwizyRRDcfI8B8,10408 -faker/providers/job/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/hu_HU/__init__.py,sha256=ZmToGK3aPj4_oI1DikTDCPuL13VDtaJHGdWFAX-_2aE,12939 -faker/providers/job/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/hy_AM/__init__.py,sha256=tGgIXm5pJw9Y7afc6wi7Pf6Vx-io3Qd6AXubKofYFAI,11265 -faker/providers/job/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/ja_JP/__init__.py,sha256=YKR66x31DVhcTbv0pPT1BSFGH6lrpnnipJSDtjmG3Jk,1635 -faker/providers/job/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/ko_KR/__init__.py,sha256=8VQGuGC1drV9qH0bAi_8B1Q7iDE9p-HxGiYLlHv2hw0,16612 -faker/providers/job/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/pl_PL/__init__.py,sha256=9HN50vBhqhthuQUlarxvrh2uySiWuKvPDpyg8UegDjA,5539 -faker/providers/job/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/pt_BR/__init__.py,sha256=Hux20vExzr8Q0z-3BkV3TcVfjR-H8zuNkJd33TCwo1U,20541 -faker/providers/job/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/pt_PT/__init__.py,sha256=vpbz9YTUlS_DnoXZq_-fx5ctgobFwCrlJdt3aknNnUs,18585 -faker/providers/job/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/ro_RO/__init__.py,sha256=CLckjpM__40QY9TunWoJrkMkxVHkHcVAent7Nn0ZsmM,170683 -faker/providers/job/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/ru_RU/__init__.py,sha256=GMeeH64NgJR1BQ3BPcJk7sQwNwW5QAO5CaL5fpqOE98,18139 -faker/providers/job/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/sk_SK/__init__.py,sha256=tlttdyXFvriVVrSUZ--BDmtfaTa4G66doovrHMbZREo,17587 -faker/providers/job/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/th_TH/__init__.py,sha256=C7HJjR2ispNKUQnhpZl5B08L9o93dy_z2Bc3X5gZv5I,3883 -faker/providers/job/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/tr_TR/__init__.py,sha256=kev6Yer2cL6-erqVXvpMjnqszPAPBEqySAx-L03EFUA,17006 -faker/providers/job/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/uk_UA/__init__.py,sha256=YbjuIxkV58BXgBBFPB5J8tD7FZycSGGO6YcWCTJ2yFY,5087 -faker/providers/job/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/zh_CN/__init__.py,sha256=zd1mm1YUIZ3dGXZo-RuznIkZrv5CQLPOPRuzdXBw4JA,28916 -faker/providers/job/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/job/zh_TW/__init__.py,sha256=fVahHxvx4D917NwNve7-XKbL1Y8lvhKmYQ8DXktGy-M,14340 -faker/providers/job/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/__init__.py,sha256=Glj5zBlWd7fK-YjgGTQWEbP1vm6n09GpdSFll86SeO0,10327 -faker/providers/lorem/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/ar_AA/__init__.py,sha256=hO4o6wt-ZmnjFt9QifobnRIST2G6tykM76M-N8VFtAE,16052 -faker/providers/lorem/ar_AA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/az_AZ/__init__.py,sha256=iZpLQeaS4FehuJa2CaoG3Uwk39rR9TssKHrtNeyCld4,1927 -faker/providers/lorem/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/bn_BD/__init__.py,sha256=jMhVpMjrIkuV3eJlVHmnM_Ejqx4wLEo8hXYJRRPtNyM,6153 -faker/providers/lorem/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/cs_CZ/__init__.py,sha256=8hNIxdsIuPqM4CE3m8PKaupqURDPZKCUxY8HEv5mgm0,98463 -faker/providers/lorem/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/da_DK/__init__.py,sha256=ut3zU2dRAK7j71pLqvYjts_2ErGeDpFIQWw5MmSfHIs,18720 -faker/providers/lorem/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/de_AT/__init__.py,sha256=Mkq4Roz9JzRbVQyBUSyU4JIR1SsothBbHD5_Xd8rAiw,191 -faker/providers/lorem/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/de_DE/__init__.py,sha256=6rqhHPRF3gGhs3agE_NcPXpyMr_z7gsp8lug98kciBU,9161 -faker/providers/lorem/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/el_GR/__init__.py,sha256=7un6Ybrs26GhX1B3a5ttQs8K53O4LG4irDnNU1BAiio,10084 -faker/providers/lorem/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/en_PH/__init__.py,sha256=lPVUCslsxXDI4ndnOSjAsjupWzZ5uPy1lIyZ6AE3PZw,2879 -faker/providers/lorem/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/en_US/__init__.py,sha256=F4w0xWRH7FrqZSIoWToTydm04nxhOMgUymLx70os8nc,66081 -faker/providers/lorem/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/fa_IR/__init__.py,sha256=-Weo8ScmxwTJ-N7AEehmPmZhTXy70CvRVYlv2_uVzs0,18944 -faker/providers/lorem/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/fil_PH/__init__.py,sha256=cs8LxZScEslOIjwq7CkByQQ4s4iaGQdbPLjBQZZAtzs,11351 -faker/providers/lorem/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/fr_FR/__init__.py,sha256=dsxWUGnlnPO7ccbljk5npE1bF-XcFRC2a_X7gavQ_Wk,27232 -faker/providers/lorem/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/he_IL/__init__.py,sha256=NFAyt96eryMA3DraO5c-0u9HuUEiu95-GYDClfnz8AY,3356 -faker/providers/lorem/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/hy_AM/__init__.py,sha256=oBpu8KpyeviOc5hCJwBYBPty4k761-J7qthFLu5FCJk,4756 -faker/providers/lorem/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/ja_JP/__init__.py,sha256=GKKd0TTA9VTz-buTVsSCG0Qb_G0x7ICcRrQQycmaKZM,4866 -faker/providers/lorem/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/la/__init__.py,sha256=Q6F2tSuR8ox315FCoztkW_kjg5T16yP49WV-6hqJwSQ,3575 -faker/providers/lorem/la/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/nl_BE/__init__.py,sha256=dWyPep-62KgpI--0ZiTD96IisOAoTLg8W9w-MjUKw8c,17955 -faker/providers/lorem/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/nl_NL/__init__.py,sha256=O53C_8Vg8Dm7HWqjGDU6oQE83FGecsOEqu_24BzxH_8,389 -faker/providers/lorem/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/pl_PL/__init__.py,sha256=0SRUNBGA2L15qXr7KQo7nJuT-lpjxBvql60Hmi-I28A,38494 -faker/providers/lorem/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/ru_RU/__init__.py,sha256=0MhskBjJ9FNVnE1HrklRtOmkQ2ONApJ_p9QNh7TvYjc,13467 -faker/providers/lorem/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/th_TH/__init__.py,sha256=xLfq6YgVe9CMNXYc-sqBcXalggu1uWjqsMheuutWNM4,11361 -faker/providers/lorem/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/tl_PH/__init__.py,sha256=GvJoMGMSsfHZKpOoPwGTeuiYdoG9tx2dxvnZ6SE_8-Q,325 -faker/providers/lorem/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/uk_UA/__init__.py,sha256=QVU4JA6FM0pICklHytEltpAxZsVPLN-lvLPiJU1lD2o,13098 -faker/providers/lorem/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/zh_CN/__init__.py,sha256=xswC2NIKe5PPXjHMRxk-Bq_sEIY3GS_iqMZwbNNuJMw,6477 -faker/providers/lorem/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/lorem/zh_TW/__init__.py,sha256=WPgMmUg2UtGNP4pWXRXYzgZqXFnYfY7bwOEJvFlJCFg,6477 -faker/providers/lorem/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/misc/__init__.py,sha256=IGzP4yXhIQBYM1TUjNfRMR7hNjCo1tAPtH2BiKgEau0,30454 -faker/providers/misc/__pycache__/__init__.cpython-311.pyc,, -faker/providers/misc/en_PH/__init__.py,sha256=nswQfqJztIjoHmkt_42KHKqeE8XpC5QVr-7SATFMFrk,4398 -faker/providers/misc/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/misc/en_US/__init__.py,sha256=ZE5bQjYE6QH86j2R4Hj_Hd_FmchvGPTKnn9vlUYnd_I,81 -faker/providers/misc/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/misc/fil_PH/__init__.py,sha256=JKgj2LzDwJuUrdc1fAIT5g51A_27E8qJmFC1iVNR7kw,151 -faker/providers/misc/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/misc/tl_PH/__init__.py,sha256=JKgj2LzDwJuUrdc1fAIT5g51A_27E8qJmFC1iVNR7kw,151 -faker/providers/misc/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/passport/__init__.py,sha256=UeTXd3BachNH3p32YgOLKvGAukf9dR_8MynlIcveMPM,1463 -faker/providers/passport/__pycache__/__init__.cpython-311.pyc,, -faker/providers/passport/en_US/__init__.py,sha256=o2m2B7LeOQiMLO0IQVZUVubGUoNIaZ9_nKFix_B_0X0,3979 -faker/providers/passport/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/__init__.py,sha256=NF_XUfL2k5hwNitFv1wtO_236UsCSVOJih1XgaU6Tuo,9525 -faker/providers/person/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ar_AA/__init__.py,sha256=k4-K0Rh-2FiYXNRGJ1hDRj1E4Dv56oIfB6-h3xV7_i0,24546 -faker/providers/person/ar_AA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ar_PS/__init__.py,sha256=4g16OAPyM_CV4ghXHK4P5SoTLE_wSpfk254CUscZulQ,1141 -faker/providers/person/ar_PS/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ar_SA/__init__.py,sha256=TXHlak27z-U5Yjpp9DJoGSmYOHcdhXfy9cdtv5uy6RA,1250 -faker/providers/person/ar_SA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/az_AZ/__init__.py,sha256=81M0ObWegca9GyUwGOD1CM4HecnU_1CmATzIoaUomuE,18358 -faker/providers/person/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/bg_BG/__init__.py,sha256=PvwEl2NpjLiXOcfCPheMbLilgqyHtV0LVe1vZm1c2fw,43243 -faker/providers/person/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/bn_BD/__init__.py,sha256=LzDPpQcOakuy_Dfl1a6L4nA2BHjJrnGuOnpHQ-j-3y8,18575 -faker/providers/person/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/cs_CZ/__init__.py,sha256=6ercMFG0y7rnc5MDTyhP29U6MchSQandJ00EkXAHoXc,11179 -faker/providers/person/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/da_DK/__init__.py,sha256=ywEr1D8xvZTxh4Yuqj6zelS5HwruZEpMw9KeRnVEEfE,11646 -faker/providers/person/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/de_AT/__init__.py,sha256=esvDUHGkg4h3BMfl-YVKqEhaacKwjpftQI3zyOavT0w,29782 -faker/providers/person/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/de_CH/__init__.py,sha256=8dViDSCtMW2eiuYpiHe-So6ZUpw_SqPIPsv0T7xnwTg,41031 -faker/providers/person/de_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/de_DE/__init__.py,sha256=B8vV6AfGBY9gy8002aNECXsJbaEwc66h6ZsezFhJKo4,46673 -faker/providers/person/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/el_GR/__init__.py,sha256=LQ3yUZdFC4mqs9Ge8Dkp4Wj7nKFeXShRhjC_K_BXXIM,66301 -faker/providers/person/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en/__init__.py,sha256=3r2L-FVtshlZR3c2xm91INhRAJD2k-4AQBXYnlfTHA4,139274 -faker/providers/person/en/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_GB/__init__.py,sha256=v58ukWDAp6ppgdOejFauw6GsJiQxs-ldYZohuw1iqr4,22879 -faker/providers/person/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_IE/__init__.py,sha256=0Jd7rsoXYqH9BMcsAXZMKFbTt_YRtuInB8C1bHF6w1M,58684 -faker/providers/person/en_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_IN/__init__.py,sha256=8TqltJ0ev2OWpPRL1HhPOU9PD3kyjHtDXWTUJsUM30I,12385 -faker/providers/person/en_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_NZ/__init__.py,sha256=_yglZn-L5p7xIXJ34P8RYNm9xQjLmN_HNDXFgFxQODs,40961 -faker/providers/person/en_NZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_TH/__init__.py,sha256=T73zo826kdt6LJTSEQTR6yXnMHQ1JuWs9-TnQAigTSw,6008 -faker/providers/person/en_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/en_US/__init__.py,sha256=b44OooDdiHXwbIBMGFXH2gHfjbBNUfFr4Yd6oRw7_lg,66194 -faker/providers/person/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es/__init__.py,sha256=Q3jnM7-g2WdBvCGvIvxN2BPFhhsRiqqjLu1MOQJEKog,3630 -faker/providers/person/es/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_AR/__init__.py,sha256=Wb1ht_cLWGfaC5MHWKuyQWG5N1WDNwkKBBLq6Bw4TWY,28395 -faker/providers/person/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_CA/__init__.py,sha256=MkPtv2AQ_HPniP62K88iyIoCmWVyjkoSEaS4lOD7l94,1720 -faker/providers/person/es_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_CL/__init__.py,sha256=eNih2rLsagl5jJtmvucTTR771mcJncmN4vCfuUdeElY,58684 -faker/providers/person/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_CO/__init__.py,sha256=NiGas5Svn0vXwEpFEDoxNEbRfe9x071YcTyoazxR4UQ,35715 -faker/providers/person/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_ES/__init__.py,sha256=8364Pa0nd4R4XeAozFlxwkl29kO_ILaVUHoMuMSbO0A,39907 -faker/providers/person/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/es_MX/__init__.py,sha256=uBzAyAdMoPQfzK2VawYQjGDHUSSFe1Tj8SlexTFbiDI,18791 -faker/providers/person/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/et_EE/__init__.py,sha256=wTx4dFchwvF2oQW_g-t-ckzA3QMPJBuiyhnNDExvVkY,13918 -faker/providers/person/et_EE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fa_IR/__init__.py,sha256=TcdLyugT6gndbr8SeE95j0AjIfWhZwc9X8hvv2KZKGQ,8309 -faker/providers/person/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fi_FI/__init__.py,sha256=cO9QRNIGYY_BCbyDr5YKSmS6wX3iyOuSMk_bTeJAjU8,29042 -faker/providers/person/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fr_BE/__init__.py,sha256=MkAl9nsccRqR4xTdGgcx_uWvCW9KHKkv3ckTge5GBq4,48511 -faker/providers/person/fr_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fr_CA/__init__.py,sha256=5nHllfbLF4B1DfgL0-OtuZcAZlaM9pPeZSYTJlgFoT4,9745 -faker/providers/person/fr_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fr_CH/__init__.py,sha256=AVKTSQVZqC874n5TKhDx1CJNUTChPG_1hsUDFEiyntU,6997 -faker/providers/person/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fr_FR/__init__.py,sha256=FXpkbw1raOrhp4XJu5suIl4a9IVPlscoEmS6zyh2vuc,12993 -faker/providers/person/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/fr_QC/__init__.py,sha256=ohlbXW7tEbzOOAFFwk7D0huNkZfF7HFv8-Vpkurxb1s,290 -faker/providers/person/fr_QC/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ga_IE/__init__.py,sha256=VO8ZW70Zla2jE9ySxzaA7SNnndn9jYlFgYhpBRyy5PI,73538 -faker/providers/person/ga_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/he_IL/__init__.py,sha256=SbEoT6QlB9LRPjLExL-b59rQEkKRYx8uXGl4fV8OZc4,60492 -faker/providers/person/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/hi_IN/__init__.py,sha256=Oj7J5cpTVQje37fnGCwvIx30qpwCA6ZS91ghZ3hM7Yk,6585 -faker/providers/person/hi_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/hr_HR/__init__.py,sha256=cj4ebFpOG-QUIpybjDG7svFlrwF84TeIxBSKNPbKYAc,19776 -faker/providers/person/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/hu_HU/__init__.py,sha256=O-uTP0L__1omnPKwFVlqX2ASNJ9fTgv9-1gcqEc53jI,16159 -faker/providers/person/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/hy_AM/__init__.py,sha256=2SlObYbwC32T5Ot6_GZhUZI5TyyATgSvqO9FLfj6uGQ,27051 -faker/providers/person/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/id_ID/__init__.py,sha256=weWMgOVkBS2msR7MR1Pz-Hn1ZIrJ0ibrftPizVoImTo,19283 -faker/providers/person/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/it_IT/__init__.py,sha256=rXaE3JJVul3nVJFY6vsiyy8ZApWE1L1sK36J53JqBxc,32694 -faker/providers/person/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ja_JP/__init__.py,sha256=A7zjtwQd0MIUQgiBJpdB9xZWgJOOS5_d-rg2tMJJP98,10951 -faker/providers/person/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ka_GE/__init__.py,sha256=JfdoWpWSk5mrRA0-yRSLDfzNEh3WMh3cQYgbrQ5lSlk,25812 -faker/providers/person/ka_GE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ko_KR/__init__.py,sha256=wa6PhmUDdANfPYv-JYfNrA0mAlWseXA-N7dm9jpT1tc,5579 -faker/providers/person/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/lt_LT/__init__.py,sha256=DQQDcd7kl9y2gB4rbjXJZvRDsxkhOtJZAQxpk4jXu3o,4706 -faker/providers/person/lt_LT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/lv_LV/__init__.py,sha256=G-_7gvAGmKtIXMEteDzuDksdsN9W6dOR5qzm02pXs2I,8240 -faker/providers/person/lv_LV/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ne_NP/__init__.py,sha256=mbVGfm0CinGNOa8ESI6i797C6Sf2EAkMANUL6Lj94Zk,44009 -faker/providers/person/ne_NP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/nl_BE/__init__.py,sha256=9vBbGnWlSnY029JX6PGy4xJXfGHVmoLHTEAtZNR-G3k,49012 -faker/providers/person/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/nl_NL/__init__.py,sha256=BUuksE9NnEDFgxXGidWzwvmlKd4TZnhnK_JA71kkpKo,32776 -faker/providers/person/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/no_NO/__init__.py,sha256=PNPeYtuQ2zaQ9Aw5z0rS05-z3kLjA-ufUR3O6UNdRBQ,7074 -faker/providers/person/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/or_IN/__init__.py,sha256=N3dTj7Z_dI6aDxSF2OEwRsgpZvoF5peH51jCR82peLk,35828 -faker/providers/person/or_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/pl_PL/__init__.py,sha256=Izgexy3dUi47KCacPQTR2cVyeekAGMVJO5xnj9wKKHg,95381 -faker/providers/person/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/pt_BR/__init__.py,sha256=INMrFqnIgTNjdo3AhuQmrTOCSDLaZiK-e9EOiNmR8Gg,7230 -faker/providers/person/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/pt_PT/__init__.py,sha256=tSitB72Gddwmnlw1hgNlgVWNXzKJqWvyNMz_Z24tM7U,6791 -faker/providers/person/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ro_RO/__init__.py,sha256=P44HBm-LKIVk6VGW0IIMNi0CglNwK5mnkM1djOXwmPc,14264 -faker/providers/person/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ru_RU/__init__.py,sha256=lOjOBivx62GZNcqI1NRcfY8dfHDXeOPntQOBfpQgBsM,37558 -faker/providers/person/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/sk_SK/__init__.py,sha256=xELxDep7PuQUAM39o-BTlxWSoryccl-vFqvdkH5I3u8,46495 -faker/providers/person/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/sl_SI/__init__.py,sha256=NryVhRpx1bwJJmvrvuRZ7CqpjPwD7XWDav_YD2ceIP0,9540 -faker/providers/person/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/sv_SE/__init__.py,sha256=yVWUYUZ1ySJIk_GFpA9_xDvRXJ_wX0FU4ZnTeiRAcik,21587 -faker/providers/person/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/ta_IN/__init__.py,sha256=8f3G82AeF_WU1z3uhGb_qOv-UUN1U2_k5KQmpXpAbhA,35625 -faker/providers/person/ta_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/th_TH/__init__.py,sha256=ohEtfOZQ5DjHN5M_aAKgAqfa6MTZz_cSpUTJHUasH6o,35440 -faker/providers/person/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/tr_TR/__init__.py,sha256=G85I0jd2Ul-9d5P0KlvkXzOHCf9oFIo69UA1qI7J02o,31373 -faker/providers/person/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/tw_GH/__init__.py,sha256=gHBQqYFDIH3ik8I5VBncVJhdSSrWw9uIeJxsep0oSjY,11402 -faker/providers/person/tw_GH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/uk_UA/__init__.py,sha256=PyKElmUEpEpyJXYOFLqQBqrIyGTi4vacmNwsAG5Asr8,35969 -faker/providers/person/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/zh_CN/__init__.py,sha256=wnvBOewxiFpIXV0uHLHTbk3zpKA0Hx0P4oiY7bakhlo,16430 -faker/providers/person/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/zh_TW/__init__.py,sha256=biuGnzIpGAwO16TRp2A_yeK6UqegqEHfT7-EpiK0h7s,15878 -faker/providers/person/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/person/zu_ZA/__init__.py,sha256=PBmYaQrKS8BfWLBIXz_m_ymiRNKirtK7jJPayIsWPGM,18658 -faker/providers/person/zu_ZA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/__init__.py,sha256=7-jQVnJ09i65BjyRPnC-W18ttIjLSfNLMTxa74nE4Xk,5825 -faker/providers/phone_number/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ar_AE/__init__.py,sha256=is_GHW78Sg9Tw0X0LD3GQPc9ixqCfJq2TzutzYw91Tw,2580 -faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ar_JO/__init__.py,sha256=-B75Bj9rScaygObHb1CVRKefVbp1vlOKsQnzqV_FDGg,1772 -faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ar_PS/__init__.py,sha256=7RdtET6TyjSs00OyGmGqPwat55kdxPsX4hbVusoDiQw,3605 -faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/az_AZ/__init__.py,sha256=0JIFo9BREcIGVa5uoeqgmOitp3a4aWPrSkhiCHnVO2Y,1562 -faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/bg_BG/__init__.py,sha256=05BSwBcj15vxsOQ0btUPhKwgPDNkYdek2XGqpXxouwY,390 -faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/bn_BD/__init__.py,sha256=yHFu589U9FClkds97p40zPPclJh2lRYYlI1B9f9U__0,7503 -faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/bs_BA/__init__.py,sha256=edmF7qRS8gUkHFNWNH6JQiLiWA-fMXuu08d38-HkEW0,879 -faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/cs_CZ/__init__.py,sha256=3N-7rs5HW4qoorwzTcuS6_49BQnNU29rg0r6fxvqwbI,734 -faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/da_DK/__init__.py,sha256=cUzQwly2CtDfEe5x_flhJD2FBrlnldqkMfM6J70ZSW4,248 -faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/de_DE/__init__.py,sha256=Gb0rJzTOIX-KuoJGAdVLvWJIxuKiIuIcNpTUCHcyxO0,455 -faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/el_GR/__init__.py,sha256=VlEbELDOfRRpaN1Vg_qgQZVGx5fVGqvDlC2Atvggu84,523 -faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_AU/__init__.py,sha256=hdsINEo3UaQEpQ-Cm0ZKXXEp-0RfBSwAy8hWpi99LN0,1317 -faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_CA/__init__.py,sha256=84HElLY6ue7-4_SINpiiCOnF85KBsVwobaU6VwsAazg,349 -faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_GB/__init__.py,sha256=6VX5vvI2RHW0Y1C_piCSTV6lmffbrftVdoj44FhAyQA,7437 -faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_IN/__init__.py,sha256=n150k5GA6gkoazdKpz2qkfd1AJ_hzviP0Noniiw_jM4,178 -faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_NZ/__init__.py,sha256=S4XgZDeaUqhPiuyR-19oalq4fEjOPh61X2B_gfiAHsU,1247 -faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_PH/__init__.py,sha256=FKB24c5QJ6KFj2s_dXKFry5_CXJSOi-Kq9DQNGgC-Vk,8227 -faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/en_US/__init__.py,sha256=OdAEPsicrobu0Y8Wmj9VpPK5o465Vu9Lshc4nNgFBuY,1610 -faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/es_AR/__init__.py,sha256=_rImVYeCpAscF_7DwoAG8bGmoidLWCrg6mZ6Umg8a7g,2079 -faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/es_CL/__init__.py,sha256=i3Pe-Q3vS06CJYdGzBQ2ksPO6f0vA45BE_talWxhCXM,1921 -faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/es_CO/__init__.py,sha256=B7uzDmYvPetQLwPPLaPOG0ehP1Uty52fkQaBtl_lt9c,1043 -faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/es_ES/__init__.py,sha256=b4nNmJz2LxoFIX3vYRIy91bzkMwPNARqhipfOVNV_JA,2312 -faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/es_MX/__init__.py,sha256=TmTVvHZUoR95gmoa3lfFBDLzpCeL2mYkmsAop7u6rv4,765 -faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/fa_IR/__init__.py,sha256=ADyPMzHM1381PXqTcaEnSHb0Ve9qJ0UVABynPonjSdI,2658 -faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/fi_FI/__init__.py,sha256=HlNMgJuPHWYxIufaiIFOyzi_HN7o2a_mzHfaYh0NDMQ,260 -faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/fil_PH/__init__.py,sha256=DaA90_JFnbMtbMJFc3BKDSDEoS_Bs1D7gMX8KpoNYlc,177 -faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/fr_CH/__init__.py,sha256=kXnKAs8MKee5MkySTtpH4r7L7LxAnlTjiJ7yhfTOMYU,979 -faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/fr_FR/__init__.py,sha256=QtHXByY71dlvPTMwDt5-isseB79-y1VJMDxdPZBFRU8,4872 -faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/he_IL/__init__.py,sha256=oLcg1F5_shT7038hUUKUI0YbPcP3IiBWCq0hJRRKMWg,468 -faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/hi_IN/__init__.py,sha256=rxdkzT_P3n15-F9QdjX2Bl6LEM2PC-DGYvFtVQBlqCA,232 -faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/hr_HR/__init__.py,sha256=3U-8Sl_5C6wXwJ9al7lNnahBKGZNtnRUd3gKrymoxwU,803 -faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/hu_HU/__init__.py,sha256=O8Ul7T6LsoLNI47kACcp1qRt7ISHmmJgLcfkwFnludU,284 -faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/hy_AM/__init__.py,sha256=KsHfElTiiV2NjhckqtNjWfu6j0uoWMbC58FhQegaXbk,441 -faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/id_ID/__init__.py,sha256=xPcT9V9CF7745PWWtYaRMnZ4Q35YpCWRBdIFVUp3BuU,648 -faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/it_IT/__init__.py,sha256=DeYMBa2EOunnRS2mEfsK8hXTr1Guk_6zNGWq8C3Vluo,4628 -faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ja_JP/__init__.py,sha256=msuLjgbD_yEzTg-2gJkNvtAeGPssXgHhPjSXFv-xGUY,207 -faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ko_KR/__init__.py,sha256=W0JWADw7NuI4pMtVYKikU2bJtUGJ_6TQevrDiWHb2A8,686 -faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/lt_LT/__init__.py,sha256=tiCqKpIrqFITnwZEAChORSj_6_KNOcYchS6xevGO_Ic,184 -faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/lv_LV/__init__.py,sha256=B5scyzrc5r5YEBrQzp3M1vJefFh_zf5QfYo1mGOf7N4,184 -faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ne_NP/__init__.py,sha256=g-KDcqPvCJeqwwoHQY2xBZtvU87TF_lf70xiId7_1tI,229 -faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/nl_BE/__init__.py,sha256=4yFTYYmTvDxR2RyLadoXyVG6mh8lPyWWeCwyFtkDPks,561 -faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/nl_NL/__init__.py,sha256=sW78nu2orfFQFBEVk2GVCe7ZUb6Qye_Y83K9dQaO_u8,512 -faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/no_NO/__init__.py,sha256=0OdMEMHQ71kg4XyR84Lb2-4fzLQo71x5jZJFXS1fv88,328 -faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/pl_PL/__init__.py,sha256=G70V3cLcxlJCmYt-ySH1hsMUTB6YY-3gGPKuwI-tFGk,895 -faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/pt_BR/__init__.py,sha256=CwM1jitHQxWLjGMSlwaUN0dlcVV4gqANDvQMI7nW3dM,3537 -faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/pt_PT/__init__.py,sha256=NNtmAJKLJQNopkOCwZaNucY46VdGn8OXZMohwI1wSV4,1013 -faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ro_RO/__init__.py,sha256=FQsq3pat92h9_EDhXyM0KiDcp26KfirFRi4A5xSj5G0,2484 -faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ru_RU/__init__.py,sha256=6Fa1P_johi3tbbDySvSyEYSnvObjAMyTIE3GlzdNO0U,379 -faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/sk_SK/__init__.py,sha256=tWnxEOXqt7EbZvNZFGw-IN_83-aZdbTn7xjPIrt5l8k,387 -faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/sl_SI/__init__.py,sha256=Zqz4KEYcfDvfsrnhZPOfNlDNVW9QUO2y3n2IfvMoc9o,361 -faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/sv_SE/__init__.py,sha256=nzwQph9vlBVYEcTTuoeO1VXpswlE8nUJXNI1Khwz83Q,367 -faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/ta_IN/__init__.py,sha256=rxdkzT_P3n15-F9QdjX2Bl6LEM2PC-DGYvFtVQBlqCA,232 -faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/th_TH/__init__.py,sha256=b6fxyWEKmKvW8tO_fYoy7Rk-MDCR5wzyVBzMQKEqZns,1826 -faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/tl_PH/__init__.py,sha256=DaA90_JFnbMtbMJFc3BKDSDEoS_Bs1D7gMX8KpoNYlc,177 -faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/tr_TR/__init__.py,sha256=z3azoBt_y3OauqJSVjfemapXspEMluQ6XTkU-d-O8Os,349 -faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/tw_GH/__init__.py,sha256=FMHrGGEIrCJNdn1aA3eOLLCb5DAwZnwoLtYynNLwxUE,578 -faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/uk_UA/__init__.py,sha256=aOhtCQdxdq6GjyijSJN3FW1K9z2n8FxkVRHiJzK42fo,318 -faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/zh_CN/__init__.py,sha256=xgNNfOtuaLrYeACxSTlQ4JLtU34PAFC8It79sy8lFmk,681 -faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/phone_number/zh_TW/__init__.py,sha256=uHjt8S7uv9uBeWbamm4skX4AcTsOjZTesUe30f8viG4,348 -faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/profile/__init__.py,sha256=nnCl-bl1tyC-Dj2NEdJ_ScHVQmk83EbH4nemwZNZ-kU,2082 -faker/providers/profile/__pycache__/__init__.cpython-311.pyc,, -faker/providers/profile/en_US/__init__.py,sha256=jdMsH1sL5CowRxP7GwrE8lhaIUKR2oEAmU3T3RjQLM4,127 -faker/providers/profile/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/python/__init__.py,sha256=aSFriIQfV74amZNm-tie_a1t0CvDqocoJmQh4e6YGDQ,21621 -faker/providers/python/__pycache__/__init__.cpython-311.pyc,, -faker/providers/python/en_US/__init__.py,sha256=kDetNXc4PbA6e_qNvhNH_kKjVlCXjHydHX6rscAOmM8,125 -faker/providers/python/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/sbn/__init__.py,sha256=9C42rPeC1i9H6svf0ahJqqK-lhiRA-keIrDWqWVZYrM,1981 -faker/providers/sbn/__pycache__/__init__.cpython-311.pyc,, -faker/providers/sbn/__pycache__/rules.cpython-311.pyc,, -faker/providers/sbn/__pycache__/sbn.cpython-311.pyc,, -faker/providers/sbn/en_US/__init__.py,sha256=dH_7x5djl9PMMBmMIEUJNiZfJgFc1MzhUeVqjO9AGTU,79 -faker/providers/sbn/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/sbn/rules.py,sha256=V3ksxlTSoT93dADehMrAldyXv8to6auzYpxgnqb7F8w,844 -faker/providers/sbn/sbn.py,sha256=IiKM6hYTzrKdS7AITqW8u6hwteK4wv6Mr1X3EBSU3sk,1519 -faker/providers/ssn/__init__.py,sha256=FZv19IkzcNG8ajn6bNlj2H-L_7l8Lmx8yxFsaA8R00g,240 -faker/providers/ssn/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/az_AZ/__init__.py,sha256=2FzJVIMi6-1-zByIcf5N1fAWebLDDGGjdXwlEKHxtI4,778 -faker/providers/ssn/az_AZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/bg_BG/__init__.py,sha256=W-S-l18iyFvfe35n4tq69aXAsh2OcKxaS7rAXyjA__4,447 -faker/providers/ssn/bg_BG/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/bn_BD/__init__.py,sha256=8YTSIsZK3zRv-wfonEa-x1Mzr0q06x9zGITU5QSKojg,326 -faker/providers/ssn/bn_BD/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/cs_CZ/__init__.py,sha256=R7SCSf7y4OEf7mYCZwE8P0Paescx-xmOTih_P56Se_Y,1418 -faker/providers/ssn/cs_CZ/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/de_AT/__init__.py,sha256=gkBYczx30RHuZ3U1S5XSAdywoiW33rdKiRYmI2_dRNE,407 -faker/providers/ssn/de_AT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/de_CH/__init__.py,sha256=_ze0dSSSLXBPk-8zlx9DSImMO68f2Qvj2XTfjqkFUAk,86 -faker/providers/ssn/de_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/de_DE/__init__.py,sha256=SZSHKRom09Mv4EpGxjuQjY84_FTl30weo9yQPzADpiA,403 -faker/providers/ssn/de_DE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/dk_DK/__init__.py,sha256=4DzZKxQTWxtfnQT8Nm67NWPOLJan9vuCt2CL7uKwMEw,344 -faker/providers/ssn/dk_DK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/el_CY/__init__.py,sha256=0kNMryCyGc3zKxNCHfYfxkxkZIQdNivW9gSiXeKrxso,348 -faker/providers/ssn/el_CY/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/el_GR/__init__.py,sha256=sA4wc9JPGLnn-Hfwk3crug3sBxWUnW28GPR52CEa44s,3109 -faker/providers/ssn/el_GR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_CA/__init__.py,sha256=i38Psp12Sa4FVbcHl-Vas8ziTc_adSW_VFN5j5XEs0k,2966 -faker/providers/ssn/en_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_GB/__init__.py,sha256=hjFy8D-tZ6hZ-lJOVhhvrshdgIiOnP1kH-Y41pXvyK0,1303 -faker/providers/ssn/en_GB/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_IE/__init__.py,sha256=LjDKcotMC8A9CuhjmReiVJ0_RIULDAxsIGDo3oyLTVI,459 -faker/providers/ssn/en_IE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_IN/__init__.py,sha256=OLTc_vaLHivAHY_IEdosEdJY27y_CQ_sxpa27hZ0VIE,731 -faker/providers/ssn/en_IN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_PH/__init__.py,sha256=NZtmfIC6qjR-0MzLoCM0p-DhBD4qYHAl6XQP4Z7KmpE,2638 -faker/providers/ssn/en_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/en_US/__init__.py,sha256=XfQTKryUZUMpb5D5nyBGa6xzZq2zNTOJlaITwVS-vB4,6851 -faker/providers/ssn/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/es_CA/__init__.py,sha256=coa7tkFpFUMI6g_H3yNoJ2AEJo82HzIyxi-T9jOkOPs,157 -faker/providers/ssn/es_CA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/es_CL/__init__.py,sha256=7kKBUkS_g7RbwII-c30d_9cPh7MrNJXG7ovMt4ySiT0,1947 -faker/providers/ssn/es_CL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/es_CO/__init__.py,sha256=sCVCKKl8aF2LY1m9Ce0vyXTwemDoZ18g3_mKPwlzD68,2111 -faker/providers/ssn/es_CO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/es_ES/__init__.py,sha256=-_sCed7ecs29M6pwsJJ0KRPdoE9VV6yYo1nzgA6BKd4,4029 -faker/providers/ssn/es_ES/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/es_MX/__init__.py,sha256=medoRg6FMlaEUuS-lKNBCaXSov3mcVMWFrUdTu-SCFc,6829 -faker/providers/ssn/es_MX/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/et_EE/__init__.py,sha256=oKfQTGvGbUtfbDcsG1rO0uoESX8KE9NQaARdW9qJQgk,2742 -faker/providers/ssn/et_EE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/fi_FI/__init__.py,sha256=vRg5X0BTkd2SoG04l5qW7Ec2HS9tRokMc-XCTCrr2iA,2591 -faker/providers/ssn/fi_FI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/fil_PH/__init__.py,sha256=_mhNPEIXZQXqS3deHvbJWQj9se7WYoFyEqUG_LPR7Wo,152 -faker/providers/ssn/fil_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/fr_CH/__init__.py,sha256=F2BeLI9QV4P_RwQP4t5gozj-j-QpbhsiZ_wuTtdQ7pg,1495 -faker/providers/ssn/fr_CH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/fr_FR/__init__.py,sha256=BhPUuQKsd4hS43ORFLi6slftD2JVXepcQKsaKWJbeM4,6772 -faker/providers/ssn/fr_FR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/he_IL/__init__.py,sha256=nN7s-tZDTKJDZpKhl25GS7ZRUSEamlHOw5dlxQH5Cwg,830 -faker/providers/ssn/he_IL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/hr_HR/__init__.py,sha256=wlSGobojooqHc9NvJxEcnrIqalHLeZAyGvlTjPXWHXE,1453 -faker/providers/ssn/hr_HR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/hu_HU/__init__.py,sha256=FXgFpmUhYIIwMfnoYPz8ZdCWGYWnF_kjb9u3FFaoAhg,4387 -faker/providers/ssn/hu_HU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/it_IT/__init__.py,sha256=KaM8Oq2m-7QAR6X8QJ-tTvbh4LTZUU54kkoISyap3X0,101203 -faker/providers/ssn/it_IT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/ko_KR/__init__.py,sha256=oOfa361sNnqp6FEEBikbCRtwIh3WIdpOBmV6DDsuxJ4,252 -faker/providers/ssn/ko_KR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/lb_LU/__init__.py,sha256=s8S2kO4LHNuHJqeCOhFRrWMqxj5sPN8ivBCITlXnEPg,416 -faker/providers/ssn/lb_LU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/lt_LT/__init__.py,sha256=BwYplSKB7VuGNyAuG9rs9KpukMTmSXD5iyZihTnkhfA,451 -faker/providers/ssn/lt_LT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/lv_LV/__init__.py,sha256=nF6hWru2XnsUIqUUjWn2cZF6-2ux25Dn3Yaao15vXKY,2354 -faker/providers/ssn/lv_LV/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/mt_MT/__init__.py,sha256=1rOuLbGEw7vt3ggxzT45bwRsijurj9T5z4GqrGSLio4,404 -faker/providers/ssn/mt_MT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/nl_BE/__init__.py,sha256=QZn0n0Rs05Nn8KwAhwj2lQafN8e2P9K4W20k0zmKRDo,2333 -faker/providers/ssn/nl_BE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/nl_NL/__init__.py,sha256=JfpGYoqFH-4xX4brm17JrQlVQdQxiLfZyFBor8WIeLI,1623 -faker/providers/ssn/nl_NL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/no_NO/__init__.py,sha256=1wYziPFsLwDexsDysFvCC9XdpCqssdsJushV18d915M,3339 -faker/providers/ssn/no_NO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/pl_PL/__init__.py,sha256=63WonxYuuKcxUYe-RJvTuluDzCQiVIH1cfhrWXy9ag4,2200 -faker/providers/ssn/pl_PL/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/pt_BR/__init__.py,sha256=w3AbkACbB-5ZXKVHs1arxBWSJnUSuITDyEHyPv4yZk8,1823 -faker/providers/ssn/pt_BR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/pt_PT/__init__.py,sha256=rlOPkxanq7mqYZy-NmlxMcBs_TBVbBmRvr17I9IFK7o,411 -faker/providers/ssn/pt_PT/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/ro_RO/__init__.py,sha256=gc1Bn2a8gX43-iBxsyKgraWtwFZxeRydhigV5HB0tUM,3472 -faker/providers/ssn/ro_RO/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/ru_RU/__init__.py,sha256=FC5QIj4j_-1kp7GEG3Gjkj29pBth-UYFakIGSajBOLk,106 -faker/providers/ssn/ru_RU/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/sk_SK/__init__.py,sha256=qJJLsnFcP6R0tSky7xeFt-4w7sWVN8gUgN53an6b1DM,1370 -faker/providers/ssn/sk_SK/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/sl_SI/__init__.py,sha256=hZqIBUnX_b0dhB7nOkuim3YwXV-TZ-JZnd4enBd_Sxo,408 -faker/providers/ssn/sl_SI/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/sv_SE/__init__.py,sha256=UCeaSDrWccsezcHYeJpvsqv-Hz4wV6HoImbJueTRNm0,3016 -faker/providers/ssn/sv_SE/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/th_TH/__init__.py,sha256=YmoOjQqLZ7Irc0NDvOrgGFYrwfG9BDgFpwzNwJ0pv_s,1892 -faker/providers/ssn/th_TH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/tl_PH/__init__.py,sha256=_mhNPEIXZQXqS3deHvbJWQj9se7WYoFyEqUG_LPR7Wo,152 -faker/providers/ssn/tl_PH/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/tr_TR/__init__.py,sha256=Lrc0w0YYIgVhcAQrKr4YCoe90ejPt8CcLNwa8V93a8A,633 -faker/providers/ssn/tr_TR/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/uk_UA/__init__.py,sha256=T5KP18nwg4yqcrYG2M65o_Jm2PTn0nI8PhfZ-dc6tvI,2159 -faker/providers/ssn/uk_UA/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/zh_CN/__init__.py,sha256=7kx5ctZSLuk2Ov5V881tySud6DcNHaoSu7-7VugxxMo,65021 -faker/providers/ssn/zh_CN/__pycache__/__init__.cpython-311.pyc,, -faker/providers/ssn/zh_TW/__init__.py,sha256=29vzvP_cPXScH_V9nap6x3SBsTa-9mG9cfhrhU8Qf1s,1310 -faker/providers/ssn/zh_TW/__pycache__/__init__.cpython-311.pyc,, -faker/providers/user_agent/__init__.py,sha256=NVCoK2EuauWRgwR8zNhLuUEDNfiGcrQpp4NtInWZx6Y,11282 -faker/providers/user_agent/__pycache__/__init__.cpython-311.pyc,, -faker/providers/user_agent/en_US/__init__.py,sha256=8kjhwiO9TWN61HA7pJE_yCEofwKzxR4C2yvrd8ffwMc,131 -faker/providers/user_agent/en_US/__pycache__/__init__.cpython-311.pyc,, -faker/proxy.py,sha256=O7scDJB1FuxPGWLDRBcACvUJezrMEvqPBK9-3hEWCUs,13247 -faker/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -faker/sphinx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -faker/sphinx/__pycache__/__init__.cpython-311.pyc,, -faker/sphinx/__pycache__/autodoc.cpython-311.pyc,, -faker/sphinx/__pycache__/docstring.cpython-311.pyc,, -faker/sphinx/__pycache__/documentor.cpython-311.pyc,, -faker/sphinx/__pycache__/validator.cpython-311.pyc,, -faker/sphinx/autodoc.py,sha256=TIEy0Agja5CntW15fYp-5F8YKNO5zFQvLATg87N5_EQ,584 -faker/sphinx/docstring.py,sha256=d--t1Qi4C2K3xZF5P4KG3fjqeBynkRTZSqrBWLvFAB8,8542 -faker/sphinx/documentor.py,sha256=4HfdU97DuD6nZ1x8H_ErJX7e4Z3CXx_9S4nPSFvqi-0,5701 -faker/sphinx/validator.py,sha256=1mt80ph8iBA6O6XCNlr09lEgNwh3dmhMMJYwxX8QoJo,5769 -faker/typing.py,sha256=sIepMevaVoydtkfShlPvr6_MTlQ5GzYc22EVFLQMKA8,864 -faker/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -faker/utils/__pycache__/__init__.cpython-311.pyc,, -faker/utils/__pycache__/checksums.cpython-311.pyc,, -faker/utils/__pycache__/datasets.cpython-311.pyc,, -faker/utils/__pycache__/decorators.cpython-311.pyc,, -faker/utils/__pycache__/distribution.cpython-311.pyc,, -faker/utils/__pycache__/loading.cpython-311.pyc,, -faker/utils/__pycache__/text.cpython-311.pyc,, -faker/utils/checksums.py,sha256=ezqIu-7wLs5enuEVFNHW07ktNJ9kTbVon1kyGSo4ZNQ,629 -faker/utils/datasets.py,sha256=A28u0kDA6Xu42ApZ6so9R1KLJ7qzZ6QYBzuayisNwbw,229 -faker/utils/decorators.py,sha256=ZRE-iO3SIEiXanwzO5p1WVvvsgX4hqJqhvsBZf5UwLg,950 -faker/utils/distribution.py,sha256=eTURHhLarQo4BdPZ5ENSKbXMyAcBsINYRE3aKJuff54,2312 -faker/utils/loading.py,sha256=cTgEIbbj-FpR_3ddCjMshijrrS1_p_hkvYAFvSIVeUw,1884 -faker/utils/text.py,sha256=eYy_jkKs3KJigyijiQl7HovmJgEdiO-tZh9CEafRNFg,1039 diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/WHEEL b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/WHEEL deleted file mode 100644 index 1f37c02..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.40.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/entry_points.txt b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/entry_points.txt deleted file mode 100644 index 6d03deb..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/entry_points.txt +++ /dev/null @@ -1,5 +0,0 @@ -[console_scripts] -faker = faker.cli:execute_from_command_line - -[pytest11] -faker = faker.contrib.pytest.plugin diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/top_level.txt deleted file mode 100644 index 9d7f6e8..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -faker diff --git a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/zip-safe b/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/venv/lib/python3.11/site-packages/Faker-24.4.0.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/LICENSE.rst b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/LICENSE.rst deleted file mode 100644 index c37cae4..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/LICENSE.rst +++ /dev/null @@ -1,28 +0,0 @@ -Copyright 2007 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/METADATA b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/METADATA deleted file mode 100644 index 56e9429..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/METADATA +++ /dev/null @@ -1,105 +0,0 @@ -Metadata-Version: 2.1 -Name: Jinja2 -Version: 3.1.3 -Summary: A very fast and expressive template engine. -Home-page: https://palletsprojects.com/p/jinja/ -Maintainer: Pallets -Maintainer-email: contact@palletsprojects.com -License: BSD-3-Clause -Project-URL: Donate, https://palletsprojects.com/donate -Project-URL: Documentation, https://jinja.palletsprojects.com/ -Project-URL: Changes, https://jinja.palletsprojects.com/changes/ -Project-URL: Source Code, https://github.com/pallets/jinja/ -Project-URL: Issue Tracker, https://github.com/pallets/jinja/issues/ -Project-URL: Chat, https://discord.gg/pallets -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Text Processing :: Markup :: HTML -Requires-Python: >=3.7 -Description-Content-Type: text/x-rst -License-File: LICENSE.rst -Requires-Dist: MarkupSafe >=2.0 -Provides-Extra: i18n -Requires-Dist: Babel >=2.7 ; extra == 'i18n' - -Jinja -===== - -Jinja is a fast, expressive, extensible templating engine. Special -placeholders in the template allow writing code similar to Python -syntax. Then the template is passed data to render the final document. - -It includes: - -- Template inheritance and inclusion. -- Define and import macros within templates. -- HTML templates can use autoescaping to prevent XSS from untrusted - user input. -- A sandboxed environment can safely render untrusted templates. -- AsyncIO support for generating templates and calling async - functions. -- I18N support with Babel. -- Templates are compiled to optimized Python code just-in-time and - cached, or can be compiled ahead-of-time. -- Exceptions point to the correct line in templates to make debugging - easier. -- Extensible filters, tests, functions, and even syntax. - -Jinja's philosophy is that while application logic belongs in Python if -possible, it shouldn't make the template designer's job difficult by -restricting functionality too much. - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - $ pip install -U Jinja2 - -.. _pip: https://pip.pypa.io/en/stable/getting-started/ - - -In A Nutshell -------------- - -.. code-block:: jinja - - {% extends "base.html" %} - {% block title %}Members{% endblock %} - {% block content %} - - {% endblock %} - - -Donate ------- - -The Pallets organization develops and supports Jinja and other popular -packages. In order to grow the community of contributors and users, and -allow the maintainers to devote more time to the projects, `please -donate today`_. - -.. _please donate today: https://palletsprojects.com/donate - - -Links ------ - -- Documentation: https://jinja.palletsprojects.com/ -- Changes: https://jinja.palletsprojects.com/changes/ -- PyPI Releases: https://pypi.org/project/Jinja2/ -- Source Code: https://github.com/pallets/jinja/ -- Issue Tracker: https://github.com/pallets/jinja/issues/ -- Chat: https://discord.gg/pallets diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/RECORD b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/RECORD deleted file mode 100644 index c2a7387..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/RECORD +++ /dev/null @@ -1,58 +0,0 @@ -Jinja2-3.1.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -Jinja2-3.1.3.dist-info/LICENSE.rst,sha256=O0nc7kEF6ze6wQ-vG-JgQI_oXSUrjp3y4JefweCUQ3s,1475 -Jinja2-3.1.3.dist-info/METADATA,sha256=0cLNbRCI91jytc7Bzv3XAQfZzFDF2gxkJuH46eF5vew,3301 -Jinja2-3.1.3.dist-info/RECORD,, -Jinja2-3.1.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92 -Jinja2-3.1.3.dist-info/entry_points.txt,sha256=zRd62fbqIyfUpsRtU7EVIFyiu1tPwfgO7EvPErnxgTE,59 -Jinja2-3.1.3.dist-info/top_level.txt,sha256=PkeVWtLb3-CqjWi1fO29OCbj55EhX_chhKrCdrVe_zs,7 -jinja2/__init__.py,sha256=NTBwMwsECrdHmxeXF7seusHLzrh6Ldn1A9qhS5cDuf0,1927 -jinja2/__pycache__/__init__.cpython-311.pyc,, -jinja2/__pycache__/_identifier.cpython-311.pyc,, -jinja2/__pycache__/async_utils.cpython-311.pyc,, -jinja2/__pycache__/bccache.cpython-311.pyc,, -jinja2/__pycache__/compiler.cpython-311.pyc,, -jinja2/__pycache__/constants.cpython-311.pyc,, -jinja2/__pycache__/debug.cpython-311.pyc,, -jinja2/__pycache__/defaults.cpython-311.pyc,, -jinja2/__pycache__/environment.cpython-311.pyc,, -jinja2/__pycache__/exceptions.cpython-311.pyc,, -jinja2/__pycache__/ext.cpython-311.pyc,, -jinja2/__pycache__/filters.cpython-311.pyc,, -jinja2/__pycache__/idtracking.cpython-311.pyc,, -jinja2/__pycache__/lexer.cpython-311.pyc,, -jinja2/__pycache__/loaders.cpython-311.pyc,, -jinja2/__pycache__/meta.cpython-311.pyc,, -jinja2/__pycache__/nativetypes.cpython-311.pyc,, -jinja2/__pycache__/nodes.cpython-311.pyc,, -jinja2/__pycache__/optimizer.cpython-311.pyc,, -jinja2/__pycache__/parser.cpython-311.pyc,, -jinja2/__pycache__/runtime.cpython-311.pyc,, -jinja2/__pycache__/sandbox.cpython-311.pyc,, -jinja2/__pycache__/tests.cpython-311.pyc,, -jinja2/__pycache__/utils.cpython-311.pyc,, -jinja2/__pycache__/visitor.cpython-311.pyc,, -jinja2/_identifier.py,sha256=_zYctNKzRqlk_murTNlzrju1FFJL7Va_Ijqqd7ii2lU,1958 -jinja2/async_utils.py,sha256=dFcmh6lMNfbh7eLKrBio8JqAKLHdZbpCuurFN4OERtY,2447 -jinja2/bccache.py,sha256=mhz5xtLxCcHRAa56azOhphIAe19u1we0ojifNMClDio,14061 -jinja2/compiler.py,sha256=PJzYdRLStlEOqmnQs1YxlizPrJoj3jTZuUleREn6AIQ,72199 -jinja2/constants.py,sha256=GMoFydBF_kdpaRKPoM5cl5MviquVRLVyZtfp5-16jg0,1433 -jinja2/debug.py,sha256=iWJ432RadxJNnaMOPrjIDInz50UEgni3_HKuFXi2vuQ,6299 -jinja2/defaults.py,sha256=boBcSw78h-lp20YbaXSJsqkAI2uN_mD_TtCydpeq5wU,1267 -jinja2/environment.py,sha256=0qldX3VQKZcm6lgn7zHz94oRFow7YPYERiqkquomNjU,61253 -jinja2/exceptions.py,sha256=ioHeHrWwCWNaXX1inHmHVblvc4haO7AXsjCp3GfWvx0,5071 -jinja2/ext.py,sha256=5fnMpllaXkfm2P_93RIvi-OnK7Tk8mCW8Du-GcD12Hc,31844 -jinja2/filters.py,sha256=vYjKb2zaPShvYtn_LpSmqfS8SScbrA_KOanNibsMDIE,53862 -jinja2/idtracking.py,sha256=GfNmadir4oDALVxzn3DL9YInhJDr69ebXeA2ygfuCGA,10704 -jinja2/lexer.py,sha256=DW2nX9zk-6MWp65YR2bqqj0xqCvLtD-u9NWT8AnFRxQ,29726 -jinja2/loaders.py,sha256=ayAwxfrA1SAffQta0nwSDm3TDT4KYiIGN_D9Z45B310,23085 -jinja2/meta.py,sha256=GNPEvifmSaU3CMxlbheBOZjeZ277HThOPUTf1RkppKQ,4396 -jinja2/nativetypes.py,sha256=7GIGALVJgdyL80oZJdQUaUfwSt5q2lSSZbXt0dNf_M4,4210 -jinja2/nodes.py,sha256=i34GPRAZexXMT6bwuf5SEyvdmS-bRCy9KMjwN5O6pjk,34550 -jinja2/optimizer.py,sha256=tHkMwXxfZkbfA1KmLcqmBMSaz7RLIvvItrJcPoXTyD8,1650 -jinja2/parser.py,sha256=Y199wPL-G67gJoi5G_5sHuu9uEP1PJkjjLEW_xTH8-k,39736 -jinja2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -jinja2/runtime.py,sha256=_6LkKIWFJjQdqlrgA3K39zBFQ-7Orm3wGDm96RwxQoE,33406 -jinja2/sandbox.py,sha256=Y0xZeXQnH6EX5VjaV2YixESxoepnRbW_3UeQosaBU3M,14584 -jinja2/tests.py,sha256=Am5Z6Lmfr2XaH_npIfJJ8MdXtWsbLjMULZJulTAj30E,5905 -jinja2/utils.py,sha256=IMwRIcN1SsTw2-jdQtlH2KzNABsXZBW_-tnFXafQBvY,23933 -jinja2/visitor.py,sha256=MH14C6yq24G_KVtWzjwaI7Wg14PCJIYlWW1kpkxYak0,3568 diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/WHEEL b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/WHEEL deleted file mode 100644 index 98c0d20..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.42.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/entry_points.txt b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/entry_points.txt deleted file mode 100644 index 7b9666c..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/entry_points.txt +++ /dev/null @@ -1,2 +0,0 @@ -[babel.extractors] -jinja2 = jinja2.ext:babel_extract[i18n] diff --git a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/top_level.txt deleted file mode 100644 index 7f7afbf..0000000 --- a/venv/lib/python3.11/site-packages/Jinja2-3.1.3.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -jinja2 diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/LICENSE.rst b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/LICENSE.rst deleted file mode 100644 index 9d227a0..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/LICENSE.rst +++ /dev/null @@ -1,28 +0,0 @@ -Copyright 2010 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/METADATA b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/METADATA deleted file mode 100644 index dfe37d5..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/METADATA +++ /dev/null @@ -1,93 +0,0 @@ -Metadata-Version: 2.1 -Name: MarkupSafe -Version: 2.1.5 -Summary: Safely add untrusted strings to HTML/XML markup. -Home-page: https://palletsprojects.com/p/markupsafe/ -Maintainer: Pallets -Maintainer-email: contact@palletsprojects.com -License: BSD-3-Clause -Project-URL: Donate, https://palletsprojects.com/donate -Project-URL: Documentation, https://markupsafe.palletsprojects.com/ -Project-URL: Changes, https://markupsafe.palletsprojects.com/changes/ -Project-URL: Source Code, https://github.com/pallets/markupsafe/ -Project-URL: Issue Tracker, https://github.com/pallets/markupsafe/issues/ -Project-URL: Chat, https://discord.gg/pallets -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Text Processing :: Markup :: HTML -Requires-Python: >=3.7 -Description-Content-Type: text/x-rst -License-File: LICENSE.rst - -MarkupSafe -========== - -MarkupSafe implements a text object that escapes characters so it is -safe to use in HTML and XML. Characters that have special meanings are -replaced so that they display as the actual characters. This mitigates -injection attacks, meaning untrusted user input can safely be displayed -on a page. - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - pip install -U MarkupSafe - -.. _pip: https://pip.pypa.io/en/stable/getting-started/ - - -Examples --------- - -.. code-block:: pycon - - >>> from markupsafe import Markup, escape - - >>> # escape replaces special characters and wraps in Markup - >>> escape("") - Markup('<script>alert(document.cookie);</script>') - - >>> # wrap in Markup to mark text "safe" and prevent escaping - >>> Markup("Hello") - Markup('hello') - - >>> escape(Markup("Hello")) - Markup('hello') - - >>> # Markup is a str subclass - >>> # methods and operators escape their arguments - >>> template = Markup("Hello {name}") - >>> template.format(name='"World"') - Markup('Hello "World"') - - -Donate ------- - -The Pallets organization develops and supports MarkupSafe and other -popular packages. In order to grow the community of contributors and -users, and allow the maintainers to devote more time to the projects, -`please donate today`_. - -.. _please donate today: https://palletsprojects.com/donate - - -Links ------ - -- Documentation: https://markupsafe.palletsprojects.com/ -- Changes: https://markupsafe.palletsprojects.com/changes/ -- PyPI Releases: https://pypi.org/project/MarkupSafe/ -- Source Code: https://github.com/pallets/markupsafe/ -- Issue Tracker: https://github.com/pallets/markupsafe/issues/ -- Chat: https://discord.gg/pallets diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/RECORD b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/RECORD deleted file mode 100644 index 0be9400..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/RECORD +++ /dev/null @@ -1,14 +0,0 @@ -MarkupSafe-2.1.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -MarkupSafe-2.1.5.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475 -MarkupSafe-2.1.5.dist-info/METADATA,sha256=2dRDPam6OZLfpX0wg1JN5P3u9arqACxVSfdGmsJU7o8,3003 -MarkupSafe-2.1.5.dist-info/RECORD,, -MarkupSafe-2.1.5.dist-info/WHEEL,sha256=AI1yqBLEPcVKWn5Ls2uPawjbqPXPFTYdQLSdN8WFCJw,152 -MarkupSafe-2.1.5.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11 -markupsafe/__init__.py,sha256=r7VOTjUq7EMQ4v3p4R1LoVOGJg6ysfYRncLr34laRBs,10958 -markupsafe/__pycache__/__init__.cpython-311.pyc,, -markupsafe/__pycache__/_native.cpython-311.pyc,, -markupsafe/_native.py,sha256=GR86Qvo_GcgKmKreA1WmYN9ud17OFwkww8E-fiW-57s,1713 -markupsafe/_speedups.c,sha256=X2XvQVtIdcK4Usz70BvkzoOfjTCmQlDkkjYSn-swE0g,7083 -markupsafe/_speedups.cpython-311-x86_64-linux-gnu.so,sha256=9PMBIm-zJzHm91NC-mblTC119_dIAldSQ4xFsE1_NPc,53656 -markupsafe/_speedups.pyi,sha256=vfMCsOgbAXRNLUXkyuyonG8uEWKYU4PDqNuMaDELAYw,229 -markupsafe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/WHEEL b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/WHEEL deleted file mode 100644 index 4497ba5..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.42.0) -Root-Is-Purelib: false -Tag: cp311-cp311-manylinux_2_17_x86_64 -Tag: cp311-cp311-manylinux2014_x86_64 - diff --git a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/top_level.txt deleted file mode 100644 index 75bf729..0000000 --- a/venv/lib/python3.11/site-packages/MarkupSafe-2.1.5.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -markupsafe diff --git a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/LICENSE b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/LICENSE deleted file mode 100644 index 2f1b8e1..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2017-2021 Ingy döt Net -Copyright (c) 2006-2016 Kirill Simonov - -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.11/site-packages/PyYAML-6.0.1.dist-info/METADATA b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/METADATA deleted file mode 100644 index c890598..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/METADATA +++ /dev/null @@ -1,46 +0,0 @@ -Metadata-Version: 2.1 -Name: PyYAML -Version: 6.0.1 -Summary: YAML parser and emitter for Python -Home-page: https://pyyaml.org/ -Download-URL: https://pypi.org/project/PyYAML/ -Author: Kirill Simonov -Author-email: xi@resolvent.net -License: MIT -Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues -Project-URL: CI, https://github.com/yaml/pyyaml/actions -Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation -Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core -Project-URL: Source Code, https://github.com/yaml/pyyaml -Platform: Any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Cython -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Markup -Requires-Python: >=3.6 -License-File: LICENSE - -YAML is a data serialization format designed for human readability -and interaction with scripting languages. PyYAML is a YAML parser -and emitter for Python. - -PyYAML features a complete YAML 1.1 parser, Unicode support, pickle -support, capable extension API, and sensible error messages. PyYAML -supports standard YAML tags and provides Python-specific tags that -allow to represent an arbitrary Python object. - -PyYAML is applicable for a broad range of tasks from complex -configuration files to object serialization and persistence. diff --git a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/RECORD b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/RECORD deleted file mode 100644 index 469b2e6..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/RECORD +++ /dev/null @@ -1,43 +0,0 @@ -PyYAML-6.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -PyYAML-6.0.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 -PyYAML-6.0.1.dist-info/METADATA,sha256=UNNF8-SzzwOKXVo-kV5lXUGH2_wDWMBmGxqISpp5HQk,2058 -PyYAML-6.0.1.dist-info/RECORD,, -PyYAML-6.0.1.dist-info/WHEEL,sha256=8KU227XctfdX2qUwyjQUO-ciQuZtmyPUCKmeGV6Byto,152 -PyYAML-6.0.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 -_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 -_yaml/__pycache__/__init__.cpython-311.pyc,, -yaml/__init__.py,sha256=bhl05qSeO-1ZxlSRjGrvl2m9nrXb1n9-GQatTN0Mrqc,12311 -yaml/__pycache__/__init__.cpython-311.pyc,, -yaml/__pycache__/composer.cpython-311.pyc,, -yaml/__pycache__/constructor.cpython-311.pyc,, -yaml/__pycache__/cyaml.cpython-311.pyc,, -yaml/__pycache__/dumper.cpython-311.pyc,, -yaml/__pycache__/emitter.cpython-311.pyc,, -yaml/__pycache__/error.cpython-311.pyc,, -yaml/__pycache__/events.cpython-311.pyc,, -yaml/__pycache__/loader.cpython-311.pyc,, -yaml/__pycache__/nodes.cpython-311.pyc,, -yaml/__pycache__/parser.cpython-311.pyc,, -yaml/__pycache__/reader.cpython-311.pyc,, -yaml/__pycache__/representer.cpython-311.pyc,, -yaml/__pycache__/resolver.cpython-311.pyc,, -yaml/__pycache__/scanner.cpython-311.pyc,, -yaml/__pycache__/serializer.cpython-311.pyc,, -yaml/__pycache__/tokens.cpython-311.pyc,, -yaml/_yaml.cpython-311-x86_64-linux-gnu.so,sha256=ls52EONnCPWCytU6wojl6RE4BhAUdu8LH3XIYfgpH0k,2504120 -yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 -yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 -yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 -yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 -yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 -yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 -yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 -yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 -yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 -yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 -yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 -yaml/representer.py,sha256=IuWP-cAW9sHKEnS0gCqSa894k1Bg4cgTxaDwIcbRQ-Y,14190 -yaml/resolver.py,sha256=9L-VYfm4mWHxUD1Vg4X7rjDRK_7VZd6b92wzq7Y2IKY,9004 -yaml/scanner.py,sha256=YEM3iLZSaQwXcQRg2l2R4MdT0zGP2F9eHkKGKnHyWQY,51279 -yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 -yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 diff --git a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/WHEEL b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/WHEEL deleted file mode 100644 index 3bed0cb..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.40.0) -Root-Is-Purelib: false -Tag: cp311-cp311-manylinux_2_17_x86_64 -Tag: cp311-cp311-manylinux2014_x86_64 - diff --git a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/top_level.txt deleted file mode 100644 index e6475e9..0000000 --- a/venv/lib/python3.11/site-packages/PyYAML-6.0.1.dist-info/top_level.txt +++ /dev/null @@ -1,2 +0,0 @@ -_yaml -yaml diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/LICENSE b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/LICENSE deleted file mode 100644 index 967cdc5..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright 2005-2024 SQLAlchemy authors and contributors . - -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.11/site-packages/SQLAlchemy-2.0.29.dist-info/METADATA b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/METADATA deleted file mode 100644 index 252f3b7..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/METADATA +++ /dev/null @@ -1,242 +0,0 @@ -Metadata-Version: 2.1 -Name: SQLAlchemy -Version: 2.0.29 -Summary: Database Abstraction Library -Home-page: https://www.sqlalchemy.org -Author: Mike Bayer -Author-email: mike_mp@zzzcomputing.com -License: MIT -Project-URL: Documentation, https://docs.sqlalchemy.org -Project-URL: Issue Tracker, https://github.com/sqlalchemy/sqlalchemy/ -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 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Database :: Front-Ends -Requires-Python: >=3.7 -Description-Content-Type: text/x-rst -License-File: LICENSE -Requires-Dist: typing-extensions >=4.6.0 -Requires-Dist: greenlet !=0.4.17 ; platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))) -Requires-Dist: importlib-metadata ; python_version < "3.8" -Provides-Extra: aiomysql -Requires-Dist: greenlet !=0.4.17 ; extra == 'aiomysql' -Requires-Dist: aiomysql >=0.2.0 ; extra == 'aiomysql' -Provides-Extra: aioodbc -Requires-Dist: greenlet !=0.4.17 ; extra == 'aioodbc' -Requires-Dist: aioodbc ; extra == 'aioodbc' -Provides-Extra: aiosqlite -Requires-Dist: greenlet !=0.4.17 ; extra == 'aiosqlite' -Requires-Dist: aiosqlite ; extra == 'aiosqlite' -Requires-Dist: typing-extensions !=3.10.0.1 ; extra == 'aiosqlite' -Provides-Extra: asyncio -Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncio' -Provides-Extra: asyncmy -Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncmy' -Requires-Dist: asyncmy !=0.2.4,!=0.2.6,>=0.2.3 ; extra == 'asyncmy' -Provides-Extra: mariadb_connector -Requires-Dist: mariadb !=1.1.2,!=1.1.5,>=1.0.1 ; extra == 'mariadb_connector' -Provides-Extra: mssql -Requires-Dist: pyodbc ; extra == 'mssql' -Provides-Extra: mssql_pymssql -Requires-Dist: pymssql ; extra == 'mssql_pymssql' -Provides-Extra: mssql_pyodbc -Requires-Dist: pyodbc ; extra == 'mssql_pyodbc' -Provides-Extra: mypy -Requires-Dist: mypy >=0.910 ; extra == 'mypy' -Provides-Extra: mysql -Requires-Dist: mysqlclient >=1.4.0 ; extra == 'mysql' -Provides-Extra: mysql_connector -Requires-Dist: mysql-connector-python ; extra == 'mysql_connector' -Provides-Extra: oracle -Requires-Dist: cx-oracle >=8 ; extra == 'oracle' -Provides-Extra: oracle_oracledb -Requires-Dist: oracledb >=1.0.1 ; extra == 'oracle_oracledb' -Provides-Extra: postgresql -Requires-Dist: psycopg2 >=2.7 ; extra == 'postgresql' -Provides-Extra: postgresql_asyncpg -Requires-Dist: greenlet !=0.4.17 ; extra == 'postgresql_asyncpg' -Requires-Dist: asyncpg ; extra == 'postgresql_asyncpg' -Provides-Extra: postgresql_pg8000 -Requires-Dist: pg8000 >=1.29.1 ; extra == 'postgresql_pg8000' -Provides-Extra: postgresql_psycopg -Requires-Dist: psycopg >=3.0.7 ; extra == 'postgresql_psycopg' -Provides-Extra: postgresql_psycopg2binary -Requires-Dist: psycopg2-binary ; extra == 'postgresql_psycopg2binary' -Provides-Extra: postgresql_psycopg2cffi -Requires-Dist: psycopg2cffi ; extra == 'postgresql_psycopg2cffi' -Provides-Extra: postgresql_psycopgbinary -Requires-Dist: psycopg[binary] >=3.0.7 ; extra == 'postgresql_psycopgbinary' -Provides-Extra: pymysql -Requires-Dist: pymysql ; extra == 'pymysql' -Provides-Extra: sqlcipher -Requires-Dist: sqlcipher3-binary ; extra == 'sqlcipher' - -SQLAlchemy -========== - -|PyPI| |Python| |Downloads| - -.. |PyPI| image:: https://img.shields.io/pypi/v/sqlalchemy - :target: https://pypi.org/project/sqlalchemy - :alt: PyPI - -.. |Python| image:: https://img.shields.io/pypi/pyversions/sqlalchemy - :target: https://pypi.org/project/sqlalchemy - :alt: PyPI - Python Version - -.. |Downloads| image:: https://static.pepy.tech/badge/sqlalchemy/month - :target: https://pepy.tech/project/sqlalchemy - :alt: PyPI - Downloads - - -The Python SQL Toolkit and Object Relational Mapper - -Introduction -------------- - -SQLAlchemy is the Python SQL toolkit and Object Relational Mapper -that gives application developers the full power and -flexibility of SQL. SQLAlchemy provides a full suite -of well known enterprise-level persistence patterns, -designed for efficient and high-performing database -access, adapted into a simple and Pythonic domain -language. - -Major SQLAlchemy features include: - -* An industrial strength ORM, built - from the core on the identity map, unit of work, - and data mapper patterns. These patterns - allow transparent persistence of objects - using a declarative configuration system. - Domain models - can be constructed and manipulated naturally, - and changes are synchronized with the - current transaction automatically. -* A relationally-oriented query system, exposing - the full range of SQL's capabilities - explicitly, including joins, subqueries, - correlation, and most everything else, - in terms of the object model. - Writing queries with the ORM uses the same - techniques of relational composition you use - when writing SQL. While you can drop into - literal SQL at any time, it's virtually never - needed. -* A comprehensive and flexible system - of eager loading for related collections and objects. - Collections are cached within a session, - and can be loaded on individual access, all - at once using joins, or by query per collection - across the full result set. -* A Core SQL construction system and DBAPI - interaction layer. The SQLAlchemy Core is - separate from the ORM and is a full database - abstraction layer in its own right, and includes - an extensible Python-based SQL expression - language, schema metadata, connection pooling, - type coercion, and custom types. -* All primary and foreign key constraints are - assumed to be composite and natural. Surrogate - integer primary keys are of course still the - norm, but SQLAlchemy never assumes or hardcodes - to this model. -* Database introspection and generation. Database - schemas can be "reflected" in one step into - Python structures representing database metadata; - those same structures can then generate - CREATE statements right back out - all within - the Core, independent of the ORM. - -SQLAlchemy's philosophy: - -* SQL databases behave less and less like object - collections the more size and performance start to - matter; object collections behave less and less like - tables and rows the more abstraction starts to matter. - SQLAlchemy aims to accommodate both of these - principles. -* An ORM doesn't need to hide the "R". A relational - database provides rich, set-based functionality - that should be fully exposed. SQLAlchemy's - ORM provides an open-ended set of patterns - that allow a developer to construct a custom - mediation layer between a domain model and - a relational schema, turning the so-called - "object relational impedance" issue into - a distant memory. -* The developer, in all cases, makes all decisions - regarding the design, structure, and naming conventions - of both the object model as well as the relational - schema. SQLAlchemy only provides the means - to automate the execution of these decisions. -* With SQLAlchemy, there's no such thing as - "the ORM generated a bad query" - you - retain full control over the structure of - queries, including how joins are organized, - how subqueries and correlation is used, what - columns are requested. Everything SQLAlchemy - does is ultimately the result of a developer-initiated - decision. -* Don't use an ORM if the problem doesn't need one. - SQLAlchemy consists of a Core and separate ORM - component. The Core offers a full SQL expression - language that allows Pythonic construction - of SQL constructs that render directly to SQL - strings for a target database, returning - result sets that are essentially enhanced DBAPI - cursors. -* Transactions should be the norm. With SQLAlchemy's - ORM, nothing goes to permanent storage until - commit() is called. SQLAlchemy encourages applications - to create a consistent means of delineating - the start and end of a series of operations. -* Never render a literal value in a SQL statement. - Bound parameters are used to the greatest degree - possible, allowing query optimizers to cache - query plans effectively and making SQL injection - attacks a non-issue. - -Documentation -------------- - -Latest documentation is at: - -https://www.sqlalchemy.org/docs/ - -Installation / Requirements ---------------------------- - -Full documentation for installation is at -`Installation `_. - -Getting Help / Development / Bug reporting ------------------------------------------- - -Please refer to the `SQLAlchemy Community Guide `_. - -Code of Conduct ---------------- - -Above all, SQLAlchemy places great emphasis on polite, thoughtful, and -constructive communication between users and developers. -Please see our current Code of Conduct at -`Code of Conduct `_. - -License -------- - -SQLAlchemy is distributed under the `MIT license -`_. - diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/RECORD b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/RECORD deleted file mode 100644 index 85dea67..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/RECORD +++ /dev/null @@ -1,530 +0,0 @@ -SQLAlchemy-2.0.29.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -SQLAlchemy-2.0.29.dist-info/LICENSE,sha256=PA9Zq4h9BB3mpOUv_j6e212VIt6Qn66abNettue-MpM,1100 -SQLAlchemy-2.0.29.dist-info/METADATA,sha256=Ldn7XpjIKE-erVf--HTU-157JH2xpMOomy6IxhmGmPE,9602 -SQLAlchemy-2.0.29.dist-info/RECORD,, -SQLAlchemy-2.0.29.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -SQLAlchemy-2.0.29.dist-info/WHEEL,sha256=-7Vwsd-KuPOtdyxdAC8drxF7lN4th9mKINh8g6MaZ9k,152 -SQLAlchemy-2.0.29.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11 -sqlalchemy/__init__.py,sha256=owmzhSxMolvrT3bYkj_lq9LeW-EtHTYPNOA7wlSVBxE,13033 -sqlalchemy/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/__pycache__/events.cpython-311.pyc,, -sqlalchemy/__pycache__/exc.cpython-311.pyc,, -sqlalchemy/__pycache__/inspection.cpython-311.pyc,, -sqlalchemy/__pycache__/log.cpython-311.pyc,, -sqlalchemy/__pycache__/schema.cpython-311.pyc,, -sqlalchemy/__pycache__/types.cpython-311.pyc,, -sqlalchemy/connectors/__init__.py,sha256=PzXPqZqi3BzEnrs1eW0DcsR4lyknAzhhN9rWcQ97hb4,476 -sqlalchemy/connectors/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/connectors/__pycache__/aioodbc.cpython-311.pyc,, -sqlalchemy/connectors/__pycache__/asyncio.cpython-311.pyc,, -sqlalchemy/connectors/__pycache__/pyodbc.cpython-311.pyc,, -sqlalchemy/connectors/aioodbc.py,sha256=GSTiNMO9h0qjPxgqaxDwWZ8HvhWMFNVR6MJQnN1oc40,5288 -sqlalchemy/connectors/asyncio.py,sha256=6s4hDYfuMjJ9KbJ4s7bF1fp5DmcgV77ozgZ5-bwZ0wc,5955 -sqlalchemy/connectors/pyodbc.py,sha256=t7AjyxIOnaWg3CrlUEpBs4Y5l0HFdNt3P_cSSKhbi0Y,8501 -sqlalchemy/cyextension/__init__.py,sha256=GzhhN8cjMnDTE0qerlUlpbrNmFPHQWCZ4Gk74OAxl04,244 -sqlalchemy/cyextension/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/cyextension/collections.cpython-311-x86_64-linux-gnu.so,sha256=0BHNDNlGfb_i2pO10yOb2i4ZmLFT7ov6uxKxv4Cj6m0,2019496 -sqlalchemy/cyextension/collections.pyx,sha256=L7DZ3DGKpgw2MT2ZZRRxCnrcyE5pU1NAFowWgAzQPEc,12571 -sqlalchemy/cyextension/immutabledict.cpython-311-x86_64-linux-gnu.so,sha256=WnH6qSA_ohJRb9ZIfCLrA9PsMOGDs20TxwWM_ZlJp80,703720 -sqlalchemy/cyextension/immutabledict.pxd,sha256=3x3-rXG5eRQ7bBnktZ-OJ9-6ft8zToPmTDOd92iXpB0,291 -sqlalchemy/cyextension/immutabledict.pyx,sha256=KfDTYbTfebstE8xuqAtuXsHNAK0_b5q_ymUiinUe_xs,3535 -sqlalchemy/cyextension/processors.cpython-311-x86_64-linux-gnu.so,sha256=0EHlPWyASdY0sbAOXZodojk5HlWBOXUaxc-kVvul41g,509544 -sqlalchemy/cyextension/processors.pyx,sha256=R1rHsGLEaGeBq5VeCydjClzYlivERIJ9B-XLOJlf2MQ,1792 -sqlalchemy/cyextension/resultproxy.cpython-311-x86_64-linux-gnu.so,sha256=pNsgUGkNFkpWiKiXO_IobfgvQoRnl4h5JgknAvI9B2g,586752 -sqlalchemy/cyextension/resultproxy.pyx,sha256=eWLdyBXiBy_CLQrF5ScfWJm7X0NeelscSXedtj1zv9Q,2725 -sqlalchemy/cyextension/util.cpython-311-x86_64-linux-gnu.so,sha256=3jBTBdj3lurZ44kmX_r68KcNvmPmFHnPp-gFVoz4qH0,870128 -sqlalchemy/cyextension/util.pyx,sha256=B85orxa9LddLuQEaDoVSq1XmAXIbLKxrxpvuB8ogV_o,2530 -sqlalchemy/dialects/__init__.py,sha256=Kos9Gf5JZg1Vg6GWaCqEbD6e0r1jCwCmcnJIfcxDdcY,1770 -sqlalchemy/dialects/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/__pycache__/_typing.cpython-311.pyc,, -sqlalchemy/dialects/_typing.py,sha256=hyv0nKucX2gI8ispB1IsvaUgrEPn9zEcq9hS7kfstEw,888 -sqlalchemy/dialects/mssql/__init__.py,sha256=r5t8wFRNtBQoiUWh0WfIEWzXZW6f3D0uDt6NZTW_7Cc,1880 -sqlalchemy/dialects/mssql/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/aioodbc.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/base.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/information_schema.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/json.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/pymssql.cpython-311.pyc,, -sqlalchemy/dialects/mssql/__pycache__/pyodbc.cpython-311.pyc,, -sqlalchemy/dialects/mssql/aioodbc.py,sha256=UQd9ecSMIML713TDnLAviuBVJle7P7i1FtqGZZePk2Y,2022 -sqlalchemy/dialects/mssql/base.py,sha256=87Z8bQbA8q5_T2Oyd4tUuttWNjYTQD9Dhq-eplDJcY4,132301 -sqlalchemy/dialects/mssql/information_schema.py,sha256=HswjDc6y0mPXCf_x6VyylHlBdBa4PSY6Evxmmlch700,8084 -sqlalchemy/dialects/mssql/json.py,sha256=evUACW2O62TAPq8B7QIPagz7jfc664ql9ms68JqiYzg,4816 -sqlalchemy/dialects/mssql/provision.py,sha256=RTVbgYLFAHzEnpVQDJroU8ji_10MqBTiZfyP9_-QNT4,5362 -sqlalchemy/dialects/mssql/pymssql.py,sha256=eZRLz7HGt3SdoZUjFBmA9BS43N7AhIASw7VPBPEJuG0,4038 -sqlalchemy/dialects/mssql/pyodbc.py,sha256=vwM-vBlmRwrqxOc73P0sFOrBSwn24wzc5IkEOpalbXQ,27056 -sqlalchemy/dialects/mysql/__init__.py,sha256=bxbi4hkysUK2OOVvr1F49akUj1cky27kKb07tgFzI9U,2153 -sqlalchemy/dialects/mysql/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/aiomysql.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/asyncmy.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/base.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/cymysql.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/dml.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/enumerated.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/expression.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/json.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mariadb.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mariadbconnector.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mysqlconnector.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mysqldb.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/pyodbc.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/reflection.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/reserved_words.cpython-311.pyc,, -sqlalchemy/dialects/mysql/__pycache__/types.cpython-311.pyc,, -sqlalchemy/dialects/mysql/aiomysql.py,sha256=67JrSUD1BmN88k_ASk6GvrttZFQiFjDY0wBiwdllxMk,9964 -sqlalchemy/dialects/mysql/asyncmy.py,sha256=CGILIRKf_2Ut9Ng2yBlmdg62laL-ockEm6GMuN7xlKE,10033 -sqlalchemy/dialects/mysql/base.py,sha256=KA7tvRxKUw0KwHwMth2rz-NWV0xMkVbYvPoBM9wrAFw,120850 -sqlalchemy/dialects/mysql/cymysql.py,sha256=eXT1ry0w_qRxjiO24M980c-8PZ9qSsbhqBHntjEiKB0,2300 -sqlalchemy/dialects/mysql/dml.py,sha256=HXJMAvimJsqvhj3UZO4vW_6LkF5RqaKbHvklAjor7yU,7645 -sqlalchemy/dialects/mysql/enumerated.py,sha256=ipEPPQqoXfFwcywNdcLlZCEzHBtnitHRah1Gn6nItcg,8448 -sqlalchemy/dialects/mysql/expression.py,sha256=lsmQCHKwfPezUnt27d2kR6ohk4IRFCA64KBS16kx5dc,4097 -sqlalchemy/dialects/mysql/json.py,sha256=l6MEZ0qp8FgiRrIQvOMhyEJq0q6OqiEnvDTx5Cbt9uQ,2269 -sqlalchemy/dialects/mysql/mariadb.py,sha256=kTfBLioLKk4JFFst4TY_iWqPtnvvQXFHknLfm89H2N8,853 -sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=sRlzRFU5E1512aFyEhmmL1ffeU1u5meaLqtRYTcrH7Y,8568 -sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=qiQdfLPze3QHuASAZ9iqRzD0hDW8FbKoQnfAEQCF7tM,5675 -sqlalchemy/dialects/mysql/mysqldb.py,sha256=zPHKMQbHu8bFuD7YvOJewn2axQbfwA93NZoeX3bbbiQ,9502 -sqlalchemy/dialects/mysql/provision.py,sha256=4oGkClQ8jC3YLPF54sB4kCjFc8HRTwf5zl5zftAAXGo,3474 -sqlalchemy/dialects/mysql/pymysql.py,sha256=GUnSHd2M2uKjmN46Hheymtm26g7phEgwYOXrX0zLY8M,4083 -sqlalchemy/dialects/mysql/pyodbc.py,sha256=072crI4qVyPhajYvHnsfFeSrNjLFVPIjBQKo5uyz5yk,4297 -sqlalchemy/dialects/mysql/reflection.py,sha256=XXM8AGpaRTqDvuObg89Bzn_4h2ETG03viYBpWZJM3vc,22822 -sqlalchemy/dialects/mysql/reserved_words.py,sha256=ucKX2p2c3UnMq2ayZuOHuf73eXhu7SKsOsTlIN1Q83I,9258 -sqlalchemy/dialects/mysql/types.py,sha256=L5cTCsMT1pTedszNEM3jSxFNZEMcHQLprYCZ0vmfsnA,24343 -sqlalchemy/dialects/oracle/__init__.py,sha256=p4-2gw7TT0bX_MoJXTGD4i8WHctYsK9kCRbkpzykBrc,1493 -sqlalchemy/dialects/oracle/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/base.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/cx_oracle.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/dictionary.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/oracledb.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/dialects/oracle/__pycache__/types.cpython-311.pyc,, -sqlalchemy/dialects/oracle/base.py,sha256=-7b5iubFPxJyDRoLXlxj8rk8eBRN2_IdZlB2zzzrrbw,118246 -sqlalchemy/dialects/oracle/cx_oracle.py,sha256=t5yH4svVz7xoDSITF958blgZ01hbCUEWUKrAXwiCiAE,55566 -sqlalchemy/dialects/oracle/dictionary.py,sha256=7WMrbPkqo8ZdGjaEZyQr-5f2pajSOF1OTGb8P97z8-g,19519 -sqlalchemy/dialects/oracle/oracledb.py,sha256=UFcZwrrk0pWfAp_SKJZ1B5rIQHtNhOvuu73_JaSnTbI,9487 -sqlalchemy/dialects/oracle/provision.py,sha256=O9ZpF4OG6Cx4mMzLRfZwhs8dZjrJETWR402n9c7726A,8304 -sqlalchemy/dialects/oracle/types.py,sha256=QK3hJvWzKnnCe3oD3rItwEEIwcoBze8qGg7VFOvVlIk,8231 -sqlalchemy/dialects/postgresql/__init__.py,sha256=wwnNAq4wDQzrlPRzDNB06ayuq3L2HNO99nzeEvq-YcU,3892 -sqlalchemy/dialects/postgresql/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/_psycopg_common.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/array.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/asyncpg.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/base.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/dml.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/ext.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/hstore.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/json.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/named_types.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/operators.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/pg8000.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/pg_catalog.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg2cffi.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/ranges.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/types.cpython-311.pyc,, -sqlalchemy/dialects/postgresql/_psycopg_common.py,sha256=7TudtgsPiSB8O5kX8W8KxcNYR8t5h_UHb86b_ChL0P8,5696 -sqlalchemy/dialects/postgresql/array.py,sha256=bWcame7ntmI_Kx6gmBX0-chwADFdLHeCvaDQ4iX8id8,13734 -sqlalchemy/dialects/postgresql/asyncpg.py,sha256=e4Zv7hTb8OdwfvrM_B82GXgORBJeNQ2vChVfogvN7KI,40240 -sqlalchemy/dialects/postgresql/base.py,sha256=ed49Ode09deJF3jXr8V5sSHTwVoFVq0dlvNdP3mJaBQ,178989 -sqlalchemy/dialects/postgresql/dml.py,sha256=Pc69Le6qzmUHHb1FT5zeUSD31dWm6SBgdCAGW89cs3s,11212 -sqlalchemy/dialects/postgresql/ext.py,sha256=1bZ--iNh2O9ym7l2gXZX48yP3yMO4dqb9RpYro2Mj2Q,16262 -sqlalchemy/dialects/postgresql/hstore.py,sha256=otAx-RTDfpi_tcXkMuQV0JOIXtYgevgnsikLKKOkI6U,11541 -sqlalchemy/dialects/postgresql/json.py,sha256=9-ZvkLVMfQNSz0aHGml_B8sNg3gVq3-gxLnb5BO7Pog,11217 -sqlalchemy/dialects/postgresql/named_types.py,sha256=3IV1ufo7zJjKmX4VtGDEnoXE6xEqLJAtGG82IiqHXwY,17594 -sqlalchemy/dialects/postgresql/operators.py,sha256=NsAaWun_tL3d_be0fs9YL6T4LPKK6crnmFxxIJHgyeY,2808 -sqlalchemy/dialects/postgresql/pg8000.py,sha256=3yoekiWSF-xnaWMqG76XrYPMqerg-42TdmfsW_ivK9E,18640 -sqlalchemy/dialects/postgresql/pg_catalog.py,sha256=hY3NXEUHxTWD4umhd2aowNu3laC-61Q_qQ_pReyXTUM,9254 -sqlalchemy/dialects/postgresql/provision.py,sha256=yqyx-aDFO9l2YcL9f4T5HBP_Lnt5dHsMjpuXUG8mi7A,5762 -sqlalchemy/dialects/postgresql/psycopg.py,sha256=TF53axr1EkTBAZD85JCq6wA7XTcJTzXueSz26txDbgc,22364 -sqlalchemy/dialects/postgresql/psycopg2.py,sha256=gAP3poHDUxEB6iut6sxe9PhBiOrV_iIMvnP0NUlC-Rw,31607 -sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=M7wAYSL6Pvt-4nbfacAHGyyw4XMKJ_bQZ1tc1pBtIdg,1756 -sqlalchemy/dialects/postgresql/ranges.py,sha256=6CgV7qkxEMJ9AQsiibo_XBLJYzGh-2ZxpG83sRaesVY,32949 -sqlalchemy/dialects/postgresql/types.py,sha256=Jfxqw9JaKNOq29JRWBublywgb3lLMyzx8YZI7CXpS2s,7300 -sqlalchemy/dialects/sqlite/__init__.py,sha256=lp9DIggNn349M-7IYhUA8et8--e8FRExWD2V_r1LJk4,1182 -sqlalchemy/dialects/sqlite/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/aiosqlite.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/base.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/dml.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/json.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/pysqlcipher.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-311.pyc,, -sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=OMvxP2eWyqk5beF-sHhzxRmjzO4VCQp55q7NH2XPVTE,12305 -sqlalchemy/dialects/sqlite/base.py,sha256=lUtigjn7NdPBq831zQsLcBwdwRJqdgKM_tUaDrMElOE,96794 -sqlalchemy/dialects/sqlite/dml.py,sha256=9GE55WvwoktKy2fHeT-Wbc9xPHgsbh5oBfd_fckMH5Q,8443 -sqlalchemy/dialects/sqlite/json.py,sha256=Eoplbb_4dYlfrtmQaI8Xddd2suAIHA-IdbDQYM-LIhs,2777 -sqlalchemy/dialects/sqlite/provision.py,sha256=UCpmwxf4IWlrpb2eLHGbPTpCFVbdI_KAh2mKtjiLYao,5632 -sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=OL2S_05DK9kllZj6DOz7QtEl7jI7syxjW6woS725ii4,5356 -sqlalchemy/dialects/sqlite/pysqlite.py,sha256=USPhTjA19ks7VfzjlMXN_BkUpZiPH8J5ZyR4B9DBhVY,28045 -sqlalchemy/dialects/type_migration_guidelines.txt,sha256=-uHNdmYFGB7bzUNT6i8M5nb4j6j9YUKAtW4lcBZqsMg,8239 -sqlalchemy/engine/__init__.py,sha256=Stb2oV6l8w65JvqEo6J4qtKoApcmOpXy3AAxQud4C1o,2818 -sqlalchemy/engine/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/_py_processors.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/_py_row.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/_py_util.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/base.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/characteristics.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/create.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/cursor.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/default.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/events.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/interfaces.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/mock.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/processors.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/reflection.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/result.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/row.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/strategies.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/url.cpython-311.pyc,, -sqlalchemy/engine/__pycache__/util.cpython-311.pyc,, -sqlalchemy/engine/_py_processors.py,sha256=j9i_lcYYQOYJMcsDerPxI0sVFBIlX5sqoYMdMJlgWPI,3744 -sqlalchemy/engine/_py_row.py,sha256=wSqoUFzLOJ1f89kgDb6sJm9LUrF5LMFpXPcK1vUsKcs,3787 -sqlalchemy/engine/_py_util.py,sha256=f2DI3AN1kv6EplelowesCVpwS8hSXNufRkZoQmJtSH8,2484 -sqlalchemy/engine/base.py,sha256=Qd4VraoFmbOsjDhkH4bHlKy7oHWO_-gtWPVSZBBigko,123050 -sqlalchemy/engine/characteristics.py,sha256=Qbvt4CPrggJ3GfxHl0hOAxopjnCQy-W_pjtwLIe-Q1g,2590 -sqlalchemy/engine/create.py,sha256=mYJtOG2ZKM8sgyfjpGpamW15RDU7JXi5s6iibbJHMIs,33206 -sqlalchemy/engine/cursor.py,sha256=I3loUjkAuT1A0NR91wGRcR2xMDmHny4MN6jJ0jeTgOI,76314 -sqlalchemy/engine/default.py,sha256=Acz1kPQfI86lIN9TZOen2YiZHtb90jyhgCiTonqDOKs,83993 -sqlalchemy/engine/events.py,sha256=c0unNFFiHzTAvkUtXoJaxzMFMDwurBkHiiUhuN8qluc,37381 -sqlalchemy/engine/interfaces.py,sha256=n6G7VW5kaGyBlKdCkgaDs694tfzLPOxZeboDmVaJThg,112832 -sqlalchemy/engine/mock.py,sha256=yvpxgFmRw5G4QsHeF-ZwQGHKES-HqQOucTxFtN1uzdk,4179 -sqlalchemy/engine/processors.py,sha256=XyfINKbo-2fjN-mW55YybvFyQMOil50_kVqsunahkNs,2379 -sqlalchemy/engine/reflection.py,sha256=FlT5kPpKm7Lah50GNt5XcnlJWojTL3LD_x0SoCF9kfY,75127 -sqlalchemy/engine/result.py,sha256=j6BI4Wj2bziQNQG5OlG_Cm4KcNWY9AoYvTXVlJUU-D8,77603 -sqlalchemy/engine/row.py,sha256=9AAQo9zYDL88GcZ3bjcQTwMT-YIcuGTSMAyTfmBJ_yM,12032 -sqlalchemy/engine/strategies.py,sha256=DqFSWaXJPL-29Omot9O0aOcuGL8KmCGyOvnPGDkAJoE,442 -sqlalchemy/engine/url.py,sha256=8eWkUaIUyDExOcJ2D4xJXRcn4OY1GQJ3Q2duSX6UGAg,30784 -sqlalchemy/engine/util.py,sha256=bNirO8k1S8yOW61uNH-a9QrWtAJ9VGFgbiR0lk1lUQU,5682 -sqlalchemy/event/__init__.py,sha256=KBrp622xojnC3FFquxa2JsMamwAbfkvzfv6Op0NKiYc,997 -sqlalchemy/event/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/event/__pycache__/api.cpython-311.pyc,, -sqlalchemy/event/__pycache__/attr.cpython-311.pyc,, -sqlalchemy/event/__pycache__/base.cpython-311.pyc,, -sqlalchemy/event/__pycache__/legacy.cpython-311.pyc,, -sqlalchemy/event/__pycache__/registry.cpython-311.pyc,, -sqlalchemy/event/api.py,sha256=BUTAZjSlzvq4Hn2v2pihP_P1yo3lvCVDczK8lV_XJ80,8227 -sqlalchemy/event/attr.py,sha256=X8QeHGK4ioSYht1vkhc11f606_mq_t91jMNIT314ubs,20751 -sqlalchemy/event/base.py,sha256=3n9FmUkcXYHHyGzfpjKDsrIUVCNST_hq4zOtrNm0_a4,14954 -sqlalchemy/event/legacy.py,sha256=teMPs00fO-4g8a_z2omcVKkYce5wj_1uvJO2n2MIeuo,8227 -sqlalchemy/event/registry.py,sha256=nfTSSyhjZZXc5wseWB4sXn-YibSc0LKX8mg17XlWmAo,10835 -sqlalchemy/events.py,sha256=k-ZD38aSPD29LYhED7CBqttp5MDVVx_YSaWC2-cu9ec,525 -sqlalchemy/exc.py,sha256=M_8-O1hd8i6gbyx-TapV400p_Lxq2QqTGMXUAO-YgCc,23976 -sqlalchemy/ext/__init__.py,sha256=S1fGKAbycnQDV01gs-JWGaFQ9GCD4QHwKcU2wnugg_o,322 -sqlalchemy/ext/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/associationproxy.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/automap.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/baked.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/compiler.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/horizontal_shard.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/hybrid.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/indexable.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/instrumentation.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/mutable.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/orderinglist.cpython-311.pyc,, -sqlalchemy/ext/__pycache__/serializer.cpython-311.pyc,, -sqlalchemy/ext/associationproxy.py,sha256=5O5ANHARO8jytvqBQmOu-QjNVE4Hh3tfYquqKAj5ajs,65771 -sqlalchemy/ext/asyncio/__init__.py,sha256=1OqSxEyIUn7RWLGyO12F-jAUIvk1I6DXlVy80-Gvkds,1317 -sqlalchemy/ext/asyncio/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/base.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/engine.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/exc.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/result.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/scoping.cpython-311.pyc,, -sqlalchemy/ext/asyncio/__pycache__/session.cpython-311.pyc,, -sqlalchemy/ext/asyncio/base.py,sha256=fl7wxZD9KjgFiCtG3WXrYjHEvanamcsodCqq9pH9lOk,8905 -sqlalchemy/ext/asyncio/engine.py,sha256=S_IRWX4QAjj2veLSu4Y3gKBIXkKQt7_2StJAK2_KUDY,48190 -sqlalchemy/ext/asyncio/exc.py,sha256=8sII7VMXzs2TrhizhFQMzSfcroRtiesq8o3UwLfXSgQ,639 -sqlalchemy/ext/asyncio/result.py,sha256=ID2eh-NHW-lnNFTxbKhje8fr-tnsucUsiw_jcpGcSPc,30409 -sqlalchemy/ext/asyncio/scoping.py,sha256=BmE1UbFV_C4BXB4WngJc523DeMH-nTchNb8ORiSPYfE,52597 -sqlalchemy/ext/asyncio/session.py,sha256=ZZklu124Rm2p9B5pbcDbR0zVyEuq-rn69_ltByuKNXo,63092 -sqlalchemy/ext/automap.py,sha256=UAJorfaoKJd9t9hylQMuxprSbOYE3gEZTM4wWM-z364,61576 -sqlalchemy/ext/baked.py,sha256=H6T1il7GY84BhzPFj49UECSpZh_eBuiHomA-QIsYOYQ,17807 -sqlalchemy/ext/compiler.py,sha256=ONPoxoKD2yUS9R2-oOhmPsA7efm-Bs0BXo7HE1dGlsU,20391 -sqlalchemy/ext/declarative/__init__.py,sha256=20psLdFQbbOWfpdXHZ0CTY6I1k4UqXvKemNVu1LvPOI,1818 -sqlalchemy/ext/declarative/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/ext/declarative/__pycache__/extensions.cpython-311.pyc,, -sqlalchemy/ext/declarative/extensions.py,sha256=uCjN1GisQt54AjqYnKYzJdUjnGd2pZBW47WWdPlS7FE,19547 -sqlalchemy/ext/horizontal_shard.py,sha256=wuwAPnHymln0unSBnyx-cpX0AfESKSsypaSQTYCvzDk,16750 -sqlalchemy/ext/hybrid.py,sha256=LXph2NOtBQj6rZMi5ar-WCxkY7qaFp-o-UFIvCy-ep0,52432 -sqlalchemy/ext/indexable.py,sha256=UkTelbydKCdKelzbv3HWFFavoET9WocKaGRPGEOVfN8,11032 -sqlalchemy/ext/instrumentation.py,sha256=sg8ghDjdHSODFXh_jAmpgemnNX1rxCeeXEG3-PMdrNk,15707 -sqlalchemy/ext/mutable.py,sha256=L5ZkHBGYhMaqO75Xtyrk2DBR44RDk0g6Rz2HzHH0F8Q,37355 -sqlalchemy/ext/mypy/__init__.py,sha256=0WebDIZmqBD0OTq5JLtd_PmfF9JGxe4d4Qv3Ml3PKUg,241 -sqlalchemy/ext/mypy/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/apply.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/decl_class.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/infer.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/names.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/plugin.cpython-311.pyc,, -sqlalchemy/ext/mypy/__pycache__/util.cpython-311.pyc,, -sqlalchemy/ext/mypy/apply.py,sha256=Aek_-XA1eXihT4attxhfE43yBKtCgsxBSb--qgZKUqc,10550 -sqlalchemy/ext/mypy/decl_class.py,sha256=1vVJRII2apnLTUbc5HkJS6Z2GueaUv_eKvhbqh7Wik4,17384 -sqlalchemy/ext/mypy/infer.py,sha256=KVnmLFEVS33Al8pUKI7MJbJQu3KeveBUMl78EluBORw,19369 -sqlalchemy/ext/mypy/names.py,sha256=Q3ef8XQBgVm9WUwlItqlYCXDNi_kbV5DdLEgbtEMEI8,10479 -sqlalchemy/ext/mypy/plugin.py,sha256=74ML8LI9xar0V86oCxnPFv5FQGEEfUzK64vOay4BKFs,9750 -sqlalchemy/ext/mypy/util.py,sha256=1zuDQG8ezmF-XhJmAQU_lcBHiD--sL-lq20clg8t4lE,9448 -sqlalchemy/ext/orderinglist.py,sha256=TGYbsGH72wEZcFNQDYDsZg9OSPuzf__P8YX8_2HtYUo,14384 -sqlalchemy/ext/serializer.py,sha256=YemanWdeMVUDweHCnQc-iMO6mVVXNo2qQ5NK0Eb2_Es,6178 -sqlalchemy/future/__init__.py,sha256=q2mw-gxk_xoxJLEvRoyMha3vO1xSRHrslcExOHZwmPA,512 -sqlalchemy/future/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/future/__pycache__/engine.cpython-311.pyc,, -sqlalchemy/future/engine.py,sha256=AgIw6vMsef8W6tynOTkxsjd6o_OQDwGjLdbpoMD8ue8,495 -sqlalchemy/inspection.py,sha256=MF-LE358wZDUEl1IH8-Uwt2HI65EsQpQW5o5udHkZwA,5063 -sqlalchemy/log.py,sha256=8x9UR3nj0uFm6or6bQF-JWb4fYv2zOeQjG_w-0wOJFA,8607 -sqlalchemy/orm/__init__.py,sha256=ZYys5nL3RFUDCMOLFDBrRI52F6er3S1U1OY9TeORuKs,8463 -sqlalchemy/orm/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/_orm_constructors.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/_typing.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/attributes.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/base.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/bulk_persistence.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/clsregistry.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/collections.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/context.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/decl_api.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/decl_base.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/dependency.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/descriptor_props.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/dynamic.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/evaluator.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/events.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/exc.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/identity.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/instrumentation.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/interfaces.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/loading.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/mapped_collection.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/mapper.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/path_registry.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/persistence.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/properties.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/query.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/relationships.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/scoping.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/session.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/state.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/state_changes.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/strategies.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/strategy_options.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/sync.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/unitofwork.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/util.cpython-311.pyc,, -sqlalchemy/orm/__pycache__/writeonly.cpython-311.pyc,, -sqlalchemy/orm/_orm_constructors.py,sha256=tlTZoY87CFSBpnw7iIYKTCeofjLg-r2ibfCfMfbyEMU,99461 -sqlalchemy/orm/_typing.py,sha256=DVBfpHmDVK4x1zxaGJPY2GoTrAsyR6uexv20Lzf1afc,4973 -sqlalchemy/orm/attributes.py,sha256=wGpyY9aIxWRkL3y6qlbUgIW78rGA4X38ZhOaWI9S818,92535 -sqlalchemy/orm/base.py,sha256=re6A8ooMxLyfCAeQfhBwwxeJQkiH7EtzzOZIVIiTPlw,27466 -sqlalchemy/orm/bulk_persistence.py,sha256=SSSR0Omv8A8BzpsOdSo4x75XICoqGpO1sUkyEWUVGso,70022 -sqlalchemy/orm/clsregistry.py,sha256=29LyYiuj0qbebOpgW6DbBPNB2ikTweFQar1byCst7I0,17958 -sqlalchemy/orm/collections.py,sha256=jpMsJGVixmrW9kfT8wevm9kpatKRqyDLcqWd7CjKPxE,52179 -sqlalchemy/orm/context.py,sha256=Wjx0d1Rkxd-wsX1mP2V2_4VbOxdNY6S_HijdXJ-TtKg,112001 -sqlalchemy/orm/decl_api.py,sha256=0gCZWM2sOXb_4OzUXfevVUisZWOUrErQTAHyaSQQL5k,63674 -sqlalchemy/orm/decl_base.py,sha256=Tq6I3Jm3bkM01mmoiHfdFXLE94YDk1ik2u2dXL1RxLc,81601 -sqlalchemy/orm/dependency.py,sha256=hgjksUWhgbmgHK5GdJdiDCBgDAIGQXIrY-Tj79tbL2k,47631 -sqlalchemy/orm/descriptor_props.py,sha256=pKtpP7H1LB_YuHRVrEYpfFZybEnUUdPwQXxduYFe2hA,37180 -sqlalchemy/orm/dynamic.py,sha256=jksBDCOsm6EBMVParcNGuMeaAv12hX4IzouKspC-HPA,9786 -sqlalchemy/orm/evaluator.py,sha256=q292K5vdpP69G7Z9y1RqI5GFAk2diUPwnsXE8De_Wgw,11925 -sqlalchemy/orm/events.py,sha256=0lxP-EluVWSUr07ny2nsuQ8QhrDu9Qc4ON6QRUhuJnA,127703 -sqlalchemy/orm/exc.py,sha256=IP40P-wOeXhkYk0YizuTC3wqm6W9cPTaQU08f5MMaQ0,7413 -sqlalchemy/orm/identity.py,sha256=jHdCxCpCyda_8mFOfGmN_Pr0XZdKiU-2hFZshlNxbHs,9249 -sqlalchemy/orm/instrumentation.py,sha256=M-kZmkUvHUxtf-0mCA8RIM5QmMH1hWlYR_pKMwaidjA,24321 -sqlalchemy/orm/interfaces.py,sha256=Hmf1BjbfOarZRgMlruqghR7cgH2xyugA9v5t0x-a-wU,48502 -sqlalchemy/orm/loading.py,sha256=JN2zLnPjNnk7K9DERbyerxESCXin7m7X1XP0gfdWLOE,57537 -sqlalchemy/orm/mapped_collection.py,sha256=3cneB1dfPTLrsTvKoo9_oCY2xtq4UAHfe5WSXPyqIS4,19690 -sqlalchemy/orm/mapper.py,sha256=8SVHr7tO-DDNpNGi68usc7PLQ7mTwzkZNEJu1aMb6dQ,171059 -sqlalchemy/orm/path_registry.py,sha256=bIXllBRevK7Ic5irajYnZgl2iazJ0rKNRkhXJSlfxjY,25850 -sqlalchemy/orm/persistence.py,sha256=dzyB2JOXNwQgaCbN8kh0sEz00WFePr48qf8NWVCUZH8,61701 -sqlalchemy/orm/properties.py,sha256=p53b3_Ht4BUsNQV1BIyH34k4EZ4NkU0rr6yhWwra_Pg,29294 -sqlalchemy/orm/query.py,sha256=qKuFTUlbGVjs84AQ7APBY0PJhrzc2JJ1upeI658MV_o,117596 -sqlalchemy/orm/relationships.py,sha256=dS5SY0v1MiD7iCNnAQlHaI6prUQhL5EkXT7ijc8FR8E,128644 -sqlalchemy/orm/scoping.py,sha256=gFYywLeMmd5qjFdVPzeuCX727mTaChrCv8aqn4wPke0,78677 -sqlalchemy/orm/session.py,sha256=yiKyoJBARQj4I1ZBjsIxc6ecCpt2Upjvlxruo2A5HRc,193181 -sqlalchemy/orm/state.py,sha256=mW2f1hMSNeTJ89foutOE1EqLLD6DZkrSeO-pgagZweg,37520 -sqlalchemy/orm/state_changes.py,sha256=qKYg7NxwrDkuUY3EPygAztym6oAVUFcP2wXn7QD3Mz4,6815 -sqlalchemy/orm/strategies.py,sha256=OtmMtWpCDk4ZiaM_ipzGn80sPOi6Opwj3Co4lUHpd_w,114206 -sqlalchemy/orm/strategy_options.py,sha256=I27ufNeElVQ4HBn8V4357CkUm47aEwWRlg4CONzsUEQ,84563 -sqlalchemy/orm/sync.py,sha256=g7iZfSge1HgxMk9SKRgUgtHEbpbZ1kP_CBqOIdTOXqc,5779 -sqlalchemy/orm/unitofwork.py,sha256=fiVaqcymbDDHRa1NjS90N9Z466nd5pkJOEi1dHO6QLY,27033 -sqlalchemy/orm/util.py,sha256=PvU_J4PSNcaOoNnsLY9qZ0lcElG71ykvdZSDZ76WSwg,80660 -sqlalchemy/orm/writeonly.py,sha256=SYu2sAaHZONk2pW4PmtE871LG-O0P_bjidvKzY1H_zI,22305 -sqlalchemy/pool/__init__.py,sha256=qiDdq4r4FFAoDrK6ncugF_i6usi_X1LeJt-CuBHey0s,1804 -sqlalchemy/pool/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/pool/__pycache__/base.cpython-311.pyc,, -sqlalchemy/pool/__pycache__/events.cpython-311.pyc,, -sqlalchemy/pool/__pycache__/impl.cpython-311.pyc,, -sqlalchemy/pool/base.py,sha256=WF4az4ZKuzQGuKeSJeyexaYjmWZUvYdC6KIi8zTGodw,52236 -sqlalchemy/pool/events.py,sha256=xGjkIUZl490ZDtCHqnQF9ZCwe2Jv93eGXmnQxftB11E,13147 -sqlalchemy/pool/impl.py,sha256=JwpALSkH-pCoO_6oENbkHYY00Jx9nlttyoI61LivRNc,18944 -sqlalchemy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -sqlalchemy/schema.py,sha256=dKiWmgHYjcKQ4TiiD6vD0UMmIsD8u0Fsor1M9AAeGUs,3194 -sqlalchemy/sql/__init__.py,sha256=UNa9EUiYWoPayf-FzNcwVgQvpsBdInPZfpJesAStN9o,5820 -sqlalchemy/sql/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_dml_constructors.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_elements_constructors.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_orm_types.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_py_util.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_selectable_constructors.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/_typing.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/annotation.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/base.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/cache_key.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/coercions.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/compiler.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/crud.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/ddl.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/default_comparator.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/dml.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/elements.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/events.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/expression.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/functions.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/lambdas.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/naming.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/operators.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/roles.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/schema.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/selectable.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/sqltypes.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/traversals.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/type_api.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/util.cpython-311.pyc,, -sqlalchemy/sql/__pycache__/visitors.cpython-311.pyc,, -sqlalchemy/sql/_dml_constructors.py,sha256=YdBJex0MCVACv4q2nl_ii3uhxzwU6aDB8zAsratX5UQ,3867 -sqlalchemy/sql/_elements_constructors.py,sha256=B0un-BtCNRhLbB3Fucn9G7iyOJWTq50xLQoJgrZlEJU,62587 -sqlalchemy/sql/_orm_types.py,sha256=T-vjcry4C1y0GToFKVxQCnmly_-Zsq4IO4SHN6bvUF4,625 -sqlalchemy/sql/_py_util.py,sha256=hiM9ePbRSGs60bAMxPFuJCIC_p9SQ1VzqXGiPchiYwE,2173 -sqlalchemy/sql/_selectable_constructors.py,sha256=wjE6HrLm9cR7bxvZXT8sFLUqT6t_J9G1XyQCnYmBDl0,18780 -sqlalchemy/sql/_typing.py,sha256=9XLEtzzsUzzU4syTzbmycGhYPGLqXDmTDwaARSNR3-g,12713 -sqlalchemy/sql/annotation.py,sha256=aqbbVz9kfbCT3_66CZ9GEirVN197Cukoqt8rq48FgkQ,18245 -sqlalchemy/sql/base.py,sha256=liRt7TSAAIo1wOUUrvsqbq6X_bSX2EpxxSUd4v7w_pY,73797 -sqlalchemy/sql/cache_key.py,sha256=0Db8mR8IrpBgdzXs4TGTt98LOpL3c7KABd72MAPKUQQ,33668 -sqlalchemy/sql/coercions.py,sha256=1xzN_9U5BCJGgokdc5iYj5o2cMAfEEZkr1Oa9Q-JYj8,40493 -sqlalchemy/sql/compiler.py,sha256=elYp6JY7oOEM6IFdLbCYfEB2lZliX---vtOumb43Ym8,274503 -sqlalchemy/sql/crud.py,sha256=g9xcol2KRGjZi1qsb2-bVz8zgVy_53gfMtJcnNO2vyQ,56521 -sqlalchemy/sql/ddl.py,sha256=CIqMilCKfuQnF0lrZsQdTxgrbXqcTauKr0Ojzj77PFQ,45602 -sqlalchemy/sql/default_comparator.py,sha256=utXWsZVGEjflhFfCT4ywa6RnhORc1Rryo87Hga71Rps,16707 -sqlalchemy/sql/dml.py,sha256=pn0Lm1ofC5qVZzwGWFW73lPCiNba8OsTeemurJgwRyg,65614 -sqlalchemy/sql/elements.py,sha256=ihsDePoVV_rAieJV6po5Z2GVl_exszmxwJ2JcB_LxbU,173693 -sqlalchemy/sql/events.py,sha256=iC_Q1Htm1Aobt5tOYxWfHHqNpoytrULORmUKcusH_-E,18290 -sqlalchemy/sql/expression.py,sha256=VMX-dLpsZYnVRJpYNDozDUgaj7iQ0HuewUKVefD57PE,7586 -sqlalchemy/sql/functions.py,sha256=MjXK0IVv45Y4n96_TMDZGJ7fwAhGHPRbFP8hOJgaplQ,63689 -sqlalchemy/sql/lambdas.py,sha256=DP0Qz7Ypo8QhzMwygGHYgRhwJMx-rNezO1euouH3iYU,49292 -sqlalchemy/sql/naming.py,sha256=ZHs1qSV3ou8TYmZ92uvU3sfdklUQlIz4uhe330n05SU,6858 -sqlalchemy/sql/operators.py,sha256=r4oQp4h5zTMFFOpiFNV56joIK-QIjJCobatsmaZ-724,75935 -sqlalchemy/sql/roles.py,sha256=pOsVn_OZD7mF2gJByHf24Rjopt0_Hu3dUCEOK5t4KS8,7662 -sqlalchemy/sql/schema.py,sha256=BHkkganu-uinWZFHKPbsCwV_9gqsq449S6RQAC2MZoE,228317 -sqlalchemy/sql/selectable.py,sha256=7lxe79hZvnHyzHe1DobodI1lZ1eo8quSLZ6phw10Zj4,232848 -sqlalchemy/sql/sqltypes.py,sha256=AAXED0rebCNmrY8K8kL6zox8_GD0L_p0lRzwM3SxCGk,126076 -sqlalchemy/sql/traversals.py,sha256=NFgJrVJzInO3HrnG90CklxrDXhFydZohPs2vRJkh3Bo,33589 -sqlalchemy/sql/type_api.py,sha256=CJAvRix_rRoOsE77sH4BqeGX0lIdtk8dX-StjGx3mUo,83208 -sqlalchemy/sql/util.py,sha256=qGHQF-tPCj-m1FBerzT7weCanGcXU7dK5m-W7NHio-4,48077 -sqlalchemy/sql/visitors.py,sha256=71wdVvhhZL4nJvVwFAs6ssaW-qZgNRSmKjpAcOzF_TA,36317 -sqlalchemy/testing/__init__.py,sha256=VsrEHrORpAF5n7Vfl43YQgABh6EP1xBx_gHxs7pSXeE,3126 -sqlalchemy/testing/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/assertions.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/assertsql.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/asyncio.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/config.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/engines.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/entities.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/exclusions.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/pickleable.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/profiling.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/provision.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/requirements.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/schema.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/util.cpython-311.pyc,, -sqlalchemy/testing/__pycache__/warnings.cpython-311.pyc,, -sqlalchemy/testing/assertions.py,sha256=gL0rA7CCZJbcVgvWOPV91tTZTRwQc1_Ta0-ykBn83Ew,31439 -sqlalchemy/testing/assertsql.py,sha256=IgQG7l94WaiRP8nTbilJh1ZHZl125g7GPq-S5kmQZN0,16817 -sqlalchemy/testing/asyncio.py,sha256=kM8uuOqDBagZF0r9xvGmsiirUVLUQ_KBzjUFU67W-b8,3830 -sqlalchemy/testing/config.py,sha256=AqyH1qub_gDqX0BvlL-JBQe7N-t2wo8655FtwblUNOY,12090 -sqlalchemy/testing/engines.py,sha256=HFJceEBD3Q_TTFQMTtIV5wGWO_a7oUgoKtUF_z636SM,13481 -sqlalchemy/testing/entities.py,sha256=IphFegPKbff3Un47jY6bi7_MQXy6qkx_50jX2tHZJR4,3354 -sqlalchemy/testing/exclusions.py,sha256=T8B01hmm8WVs-EKcUOQRzabahPqblWJfOidi6bHJ6GA,12460 -sqlalchemy/testing/fixtures/__init__.py,sha256=dMClrIoxqlYIFpk2ia4RZpkbfxsS_3EBigr9QsPJ66g,1198 -sqlalchemy/testing/fixtures/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/testing/fixtures/__pycache__/base.cpython-311.pyc,, -sqlalchemy/testing/fixtures/__pycache__/mypy.cpython-311.pyc,, -sqlalchemy/testing/fixtures/__pycache__/orm.cpython-311.pyc,, -sqlalchemy/testing/fixtures/__pycache__/sql.cpython-311.pyc,, -sqlalchemy/testing/fixtures/base.py,sha256=9r_J2ksiTzClpUxW0TczICHrWR7Ny8PV8IsBz6TsGFI,12256 -sqlalchemy/testing/fixtures/mypy.py,sha256=gdxiwNFIzDlNGSOdvM3gbwDceVCC9t8oM5kKbwyhGBk,11973 -sqlalchemy/testing/fixtures/orm.py,sha256=8EFbnaBbXX_Bf4FcCzBUaAHgyVpsLGBHX16SGLqE3Fg,6095 -sqlalchemy/testing/fixtures/sql.py,sha256=TE5q2BSOc_Vq1TPaLnj1F9ZA_YiQHlqyvUtGId9bGr0,15774 -sqlalchemy/testing/pickleable.py,sha256=U9mIqk-zaxq9Xfy7HErP7UrKgTov-A3QFnhZh-NiOjI,2833 -sqlalchemy/testing/plugin/__init__.py,sha256=79F--BIY_NTBzVRIlJGgAY5LNJJ3cD19XvrAo4X0W9A,247 -sqlalchemy/testing/plugin/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/testing/plugin/__pycache__/bootstrap.cpython-311.pyc,, -sqlalchemy/testing/plugin/__pycache__/plugin_base.cpython-311.pyc,, -sqlalchemy/testing/plugin/__pycache__/pytestplugin.cpython-311.pyc,, -sqlalchemy/testing/plugin/bootstrap.py,sha256=oYScMbEW4pCnWlPEAq1insFruCXFQeEVBwo__i4McpU,1685 -sqlalchemy/testing/plugin/plugin_base.py,sha256=BgNzWNEmgpK4CwhyblQQKnH-7FDKVi_Uul5vw8fFjBU,21578 -sqlalchemy/testing/plugin/pytestplugin.py,sha256=6jkQHH2VQMD75k2As9CuWXmEy9jrscoFRhCNg6-PaTw,27656 -sqlalchemy/testing/profiling.py,sha256=PbuPhRFbauFilUONeY3tV_Y_5lBkD7iCa8VVyH2Sk9Y,10148 -sqlalchemy/testing/provision.py,sha256=zXsw2D2Xpmw_chmYLsE1GXQqKQ-so3V8xU_joTcKan0,14619 -sqlalchemy/testing/requirements.py,sha256=N9pSj7z2wVMkBif-DQfPVa_cl9k6p9g_J5FY1OsWtrY,51817 -sqlalchemy/testing/schema.py,sha256=lr4GkGrGwagaHMuSGzWdzkMaj3HnS7dgfLLWfxt__-U,6513 -sqlalchemy/testing/suite/__init__.py,sha256=Y5DRNG0Yl1u3ypt9zVF0Z9suPZeuO_UQGLl-wRgvTjU,722 -sqlalchemy/testing/suite/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_cte.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_ddl.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_deprecations.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_dialect.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_insert.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_reflection.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_results.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_rowcount.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_select.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_sequence.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_types.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_unicode_ddl.cpython-311.pyc,, -sqlalchemy/testing/suite/__pycache__/test_update_delete.cpython-311.pyc,, -sqlalchemy/testing/suite/test_cte.py,sha256=6zBC3W2OwX1Xs-HedzchcKN2S7EaLNkgkvV_JSZ_Pq0,6451 -sqlalchemy/testing/suite/test_ddl.py,sha256=1Npkf0C_4UNxphthAGjG078n0vPEgnSIHpDu5MfokxQ,12031 -sqlalchemy/testing/suite/test_deprecations.py,sha256=BcJxZTcjYqeOAENVElCg3hVvU6fkGEW3KGBMfnW8bng,5337 -sqlalchemy/testing/suite/test_dialect.py,sha256=EH4ZQWbnGdtjmx5amZtTyhYmrkXJCvW1SQoLahoE7uk,22923 -sqlalchemy/testing/suite/test_insert.py,sha256=9azifj6-OCD7s8h_tAO1uPw100ibQv8YoKc_VA3hn3c,18824 -sqlalchemy/testing/suite/test_reflection.py,sha256=tJSbJFg5fw0sSUv3I_FPmhN7rWWeJtq3YyxmylWJUlM,106466 -sqlalchemy/testing/suite/test_results.py,sha256=NQ23m8FDVd0ub751jN4PswGoAhk5nrqvjHvpYULZXnc,15937 -sqlalchemy/testing/suite/test_rowcount.py,sha256=3KDTlRgjpQ1OVfp__1cv8Hvq4CsDKzmrhJQ_WIJWoJg,7900 -sqlalchemy/testing/suite/test_select.py,sha256=FvMFYQW9IJpDWGYZiJk46is6YrtmdSghBdTjZCG8T0Y,58574 -sqlalchemy/testing/suite/test_sequence.py,sha256=66bCoy4xo99GBSaX6Hxb88foANAykLGRz1YEKbvpfuA,9923 -sqlalchemy/testing/suite/test_types.py,sha256=rFmTOg6XuMch9L2-XthfLJRCTTwpZbMfrNss2g09gmc,65677 -sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=c3_eIxLyORuSOhNDP0jWKxPyUf3SwMFpdalxtquwqlM,6141 -sqlalchemy/testing/suite/test_update_delete.py,sha256=yTiM2unnfOK9rK8ZkqeTTU_MkT-RsKFLmdYliniZfAY,3994 -sqlalchemy/testing/util.py,sha256=BFiSp3CEX95Dr-vv4l_7ZRu5vjZi9hjjnp-JKNfuS5E,14080 -sqlalchemy/testing/warnings.py,sha256=fJ-QJUY2zY2PPxZJKv9medW-BKKbCNbA4Ns_V3YwFXM,1546 -sqlalchemy/types.py,sha256=cQFM-hFRmaf1GErun1qqgEs6QxufvzMuwKqj9tuMPpE,3168 -sqlalchemy/util/__init__.py,sha256=B3bedg-LSQEscwqgmYYU-VENUX8_zAE3q9vb7tkfJNY,8277 -sqlalchemy/util/__pycache__/__init__.cpython-311.pyc,, -sqlalchemy/util/__pycache__/_collections.cpython-311.pyc,, -sqlalchemy/util/__pycache__/_concurrency_py3k.cpython-311.pyc,, -sqlalchemy/util/__pycache__/_has_cy.cpython-311.pyc,, -sqlalchemy/util/__pycache__/_py_collections.cpython-311.pyc,, -sqlalchemy/util/__pycache__/compat.cpython-311.pyc,, -sqlalchemy/util/__pycache__/concurrency.cpython-311.pyc,, -sqlalchemy/util/__pycache__/deprecations.cpython-311.pyc,, -sqlalchemy/util/__pycache__/langhelpers.cpython-311.pyc,, -sqlalchemy/util/__pycache__/preloaded.cpython-311.pyc,, -sqlalchemy/util/__pycache__/queue.cpython-311.pyc,, -sqlalchemy/util/__pycache__/tool_support.cpython-311.pyc,, -sqlalchemy/util/__pycache__/topological.cpython-311.pyc,, -sqlalchemy/util/__pycache__/typing.cpython-311.pyc,, -sqlalchemy/util/_collections.py,sha256=NE9dGJo8UNXIMbY3l3k8AO9BdPW04DlKTYraKCinchI,20063 -sqlalchemy/util/_concurrency_py3k.py,sha256=IBxZDTSyLbEx9I9ViQVXYP1twxM-pTa-3x_-U8snmLU,9191 -sqlalchemy/util/_has_cy.py,sha256=wCQmeSjT3jaH_oxfCEtGk-1g0gbSpt5MCK5UcWdMWqk,1247 -sqlalchemy/util/_py_collections.py,sha256=U6L5AoyLdgSv7cdqB4xxQbw1rpeJjyOZVXffgxgga8I,16714 -sqlalchemy/util/compat.py,sha256=R6bpBydldtbr6h7oJePihQxFb7jKiI-YDsK465MSOzk,8714 -sqlalchemy/util/concurrency.py,sha256=9lT_cMoO1fZNdY8QTUZ22oeSf-L5I-79Ke7chcBNPA0,3304 -sqlalchemy/util/deprecations.py,sha256=YBwvvYhSB8LhasIZRKvg_-WNoVhPUcaYI1ZrnjDn868,11971 -sqlalchemy/util/langhelpers.py,sha256=vm_lYcRNPyURzIOVhoXaScFoQy8PU0rLuztIVwTwTmc,64957 -sqlalchemy/util/preloaded.py,sha256=az7NmLJLsqs0mtM9uBkIu10-841RYDq8wOyqJ7xXvqE,5904 -sqlalchemy/util/queue.py,sha256=CaeSEaYZ57YwtmLdNdOIjT5PK_LCuwMFiO0mpp39ybM,10185 -sqlalchemy/util/tool_support.py,sha256=9braZyidaiNrZVsWtGmkSmus50-byhuYrlAqvhjcmnA,6135 -sqlalchemy/util/topological.py,sha256=N3M3Le7KzGHCmqPGg0ZBqixTDGwmFLhOZvBtc4rHL_g,3458 -sqlalchemy/util/typing.py,sha256=FqH6WjV3p-8rz68YaXktpiZrPu3kmug2-gktJxBQSnI,16641 diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/REQUESTED b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/REQUESTED deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/WHEEL b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/WHEEL deleted file mode 100644 index 2c2df9d..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.43.0) -Root-Is-Purelib: false -Tag: cp311-cp311-manylinux_2_17_x86_64 -Tag: cp311-cp311-manylinux2014_x86_64 - diff --git a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/top_level.txt deleted file mode 100644 index 39fb2be..0000000 --- a/venv/lib/python3.11/site-packages/SQLAlchemy-2.0.29.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -sqlalchemy diff --git a/venv/lib/python3.11/site-packages/__pycache__/six.cpython-311.pyc b/venv/lib/python3.11/site-packages/__pycache__/six.cpython-311.pyc deleted file mode 100644 index bdf4b31..0000000 Binary files a/venv/lib/python3.11/site-packages/__pycache__/six.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc b/venv/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc deleted file mode 100644 index 338046d..0000000 Binary files a/venv/lib/python3.11/site-packages/__pycache__/typing_extensions.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/_distutils_hack/__init__.py b/venv/lib/python3.11/site-packages/_distutils_hack/__init__.py deleted file mode 100644 index f987a53..0000000 --- a/venv/lib/python3.11/site-packages/_distutils_hack/__init__.py +++ /dev/null @@ -1,222 +0,0 @@ -# don't import any costly modules -import sys -import os - - -is_pypy = '__pypy__' in sys.builtin_module_names - - -def warn_distutils_present(): - if 'distutils' not in sys.modules: - return - if is_pypy and sys.version_info < (3, 7): - # PyPy for 3.6 unconditionally imports distutils, so bypass the warning - # https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250 - return - import warnings - - warnings.warn( - "Distutils was imported before Setuptools, but importing Setuptools " - "also replaces the `distutils` module in `sys.modules`. This may lead " - "to undesirable behaviors or errors. To avoid these issues, avoid " - "using distutils directly, ensure that setuptools is installed in the " - "traditional way (e.g. not an editable install), and/or make sure " - "that setuptools is always imported before distutils." - ) - - -def clear_distutils(): - if 'distutils' not in sys.modules: - return - import warnings - - warnings.warn("Setuptools is replacing distutils.") - mods = [ - name - for name in sys.modules - if name == "distutils" or name.startswith("distutils.") - ] - for name in mods: - del sys.modules[name] - - -def enabled(): - """ - Allow selection of distutils by environment variable. - """ - which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local') - return which == 'local' - - -def ensure_local_distutils(): - import importlib - - clear_distutils() - - # With the DistutilsMetaFinder in place, - # perform an import to cause distutils to be - # loaded from setuptools._distutils. Ref #2906. - with shim(): - importlib.import_module('distutils') - - # check that submodules load as expected - core = importlib.import_module('distutils.core') - assert '_distutils' in core.__file__, core.__file__ - assert 'setuptools._distutils.log' not in sys.modules - - -def do_override(): - """ - Ensure that the local copy of distutils is preferred over stdlib. - - See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401 - for more motivation. - """ - if enabled(): - warn_distutils_present() - ensure_local_distutils() - - -class _TrivialRe: - def __init__(self, *patterns): - self._patterns = patterns - - def match(self, string): - return all(pat in string for pat in self._patterns) - - -class DistutilsMetaFinder: - def find_spec(self, fullname, path, target=None): - # optimization: only consider top level modules and those - # found in the CPython test suite. - if path is not None and not fullname.startswith('test.'): - return - - method_name = 'spec_for_{fullname}'.format(**locals()) - method = getattr(self, method_name, lambda: None) - return method() - - def spec_for_distutils(self): - if self.is_cpython(): - return - - import importlib - import importlib.abc - import importlib.util - - try: - mod = importlib.import_module('setuptools._distutils') - except Exception: - # There are a couple of cases where setuptools._distutils - # may not be present: - # - An older Setuptools without a local distutils is - # taking precedence. Ref #2957. - # - Path manipulation during sitecustomize removes - # setuptools from the path but only after the hook - # has been loaded. Ref #2980. - # In either case, fall back to stdlib behavior. - return - - class DistutilsLoader(importlib.abc.Loader): - def create_module(self, spec): - mod.__name__ = 'distutils' - return mod - - def exec_module(self, module): - pass - - return importlib.util.spec_from_loader( - 'distutils', DistutilsLoader(), origin=mod.__file__ - ) - - @staticmethod - def is_cpython(): - """ - Suppress supplying distutils for CPython (build and tests). - Ref #2965 and #3007. - """ - return os.path.isfile('pybuilddir.txt') - - def spec_for_pip(self): - """ - Ensure stdlib distutils when running under pip. - See pypa/pip#8761 for rationale. - """ - if self.pip_imported_during_build(): - return - clear_distutils() - self.spec_for_distutils = lambda: None - - @classmethod - def pip_imported_during_build(cls): - """ - Detect if pip is being imported in a build script. Ref #2355. - """ - import traceback - - return any( - cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None) - ) - - @staticmethod - def frame_file_is_setup(frame): - """ - Return True if the indicated frame suggests a setup.py file. - """ - # some frames may not have __file__ (#2940) - return frame.f_globals.get('__file__', '').endswith('setup.py') - - def spec_for_sensitive_tests(self): - """ - Ensure stdlib distutils when running select tests under CPython. - - python/cpython#91169 - """ - clear_distutils() - self.spec_for_distutils = lambda: None - - sensitive_tests = ( - [ - 'test.test_distutils', - 'test.test_peg_generator', - 'test.test_importlib', - ] - if sys.version_info < (3, 10) - else [ - 'test.test_distutils', - ] - ) - - -for name in DistutilsMetaFinder.sensitive_tests: - setattr( - DistutilsMetaFinder, - f'spec_for_{name}', - DistutilsMetaFinder.spec_for_sensitive_tests, - ) - - -DISTUTILS_FINDER = DistutilsMetaFinder() - - -def add_shim(): - DISTUTILS_FINDER in sys.meta_path or insert_shim() - - -class shim: - def __enter__(self): - insert_shim() - - def __exit__(self, exc, value, tb): - remove_shim() - - -def insert_shim(): - sys.meta_path.insert(0, DISTUTILS_FINDER) - - -def remove_shim(): - try: - sys.meta_path.remove(DISTUTILS_FINDER) - except ValueError: - pass diff --git a/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index f3ca043..0000000 Binary files a/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc b/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc deleted file mode 100644 index 928106e..0000000 Binary files a/venv/lib/python3.11/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/_distutils_hack/override.py b/venv/lib/python3.11/site-packages/_distutils_hack/override.py deleted file mode 100644 index 2cc433a..0000000 --- a/venv/lib/python3.11/site-packages/_distutils_hack/override.py +++ /dev/null @@ -1 +0,0 @@ -__import__('_distutils_hack').do_override() diff --git a/venv/lib/python3.11/site-packages/_yaml/__init__.py b/venv/lib/python3.11/site-packages/_yaml/__init__.py deleted file mode 100644 index 7baa8c4..0000000 --- a/venv/lib/python3.11/site-packages/_yaml/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -# This is a stub package designed to roughly emulate the _yaml -# extension module, which previously existed as a standalone module -# and has been moved into the `yaml` package namespace. -# It does not perfectly mimic its old counterpart, but should get -# close enough for anyone who's relying on it even when they shouldn't. -import yaml - -# in some circumstances, the yaml module we imoprted may be from a different version, so we need -# to tread carefully when poking at it here (it may not have the attributes we expect) -if not getattr(yaml, '__with_libyaml__', False): - from sys import version_info - - exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError - raise exc("No module named '_yaml'") -else: - from yaml._yaml import * - import warnings - warnings.warn( - 'The _yaml extension module is now located at yaml._yaml' - ' and its location is subject to change. To use the' - ' LibYAML-based parser and emitter, import from `yaml`:' - ' `from yaml import CLoader as Loader, CDumper as Dumper`.', - DeprecationWarning - ) - del warnings - # Don't `del yaml` here because yaml is actually an existing - # namespace member of _yaml. - -__name__ = '_yaml' -# If the module is top-level (i.e. not a part of any specific package) -# then the attribute should be set to ''. -# https://docs.python.org/3.8/library/types.html -__package__ = '' diff --git a/venv/lib/python3.11/site-packages/_yaml/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/_yaml/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 778a5ee..0000000 Binary files a/venv/lib/python3.11/site-packages/_yaml/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/LICENSE b/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/LICENSE deleted file mode 100644 index bbb5ba0..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2022 Amethyst Reese - -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.11/site-packages/aiosqlite-0.20.0.dist-info/METADATA b/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/METADATA deleted file mode 100644 index 74e724a..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/METADATA +++ /dev/null @@ -1,122 +0,0 @@ -Metadata-Version: 2.1 -Name: aiosqlite -Version: 0.20.0 -Summary: asyncio bridge to the standard sqlite3 module -Author-email: Amethyst Reese -Requires-Python: >=3.8 -Description-Content-Type: text/x-rst -Classifier: Development Status :: 5 - Production/Stable -Classifier: Framework :: AsyncIO -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Topic :: Software Development :: Libraries -Requires-Dist: typing_extensions >= 4.0 -Requires-Dist: attribution==1.7.0 ; extra == "dev" -Requires-Dist: black==24.2.0 ; extra == "dev" -Requires-Dist: coverage[toml]==7.4.1 ; extra == "dev" -Requires-Dist: flake8==7.0.0 ; extra == "dev" -Requires-Dist: flake8-bugbear==24.2.6 ; extra == "dev" -Requires-Dist: flit==3.9.0 ; extra == "dev" -Requires-Dist: mypy==1.8.0 ; extra == "dev" -Requires-Dist: ufmt==2.3.0 ; extra == "dev" -Requires-Dist: usort==1.0.8.post1 ; extra == "dev" -Requires-Dist: sphinx==7.2.6 ; extra == "docs" -Requires-Dist: sphinx-mdinclude==0.5.3 ; extra == "docs" -Project-URL: Documentation, https://aiosqlite.omnilib.dev -Project-URL: Github, https://github.com/omnilib/aiosqlite -Provides-Extra: dev -Provides-Extra: docs - -aiosqlite\: Sqlite for AsyncIO -============================== - -.. image:: https://readthedocs.org/projects/aiosqlite/badge/?version=latest - :target: https://aiosqlite.omnilib.dev/en/latest/?badge=latest - :alt: Documentation Status -.. image:: https://img.shields.io/pypi/v/aiosqlite.svg - :target: https://pypi.org/project/aiosqlite - :alt: PyPI Release -.. image:: https://img.shields.io/badge/change-log-blue - :target: https://github.com/omnilib/aiosqlite/blob/master/CHANGELOG.md - :alt: Changelog -.. image:: https://img.shields.io/pypi/l/aiosqlite.svg - :target: https://github.com/omnilib/aiosqlite/blob/master/LICENSE - :alt: MIT Licensed - -aiosqlite provides a friendly, async interface to sqlite databases. - -It replicates the standard ``sqlite3`` module, but with async versions -of all the standard connection and cursor methods, plus context managers for -automatically closing connections and cursors: - -.. code-block:: python - - async with aiosqlite.connect(...) as db: - await db.execute("INSERT INTO some_table ...") - await db.commit() - - async with db.execute("SELECT * FROM some_table") as cursor: - async for row in cursor: - ... - -It can also be used in the traditional, procedural manner: - -.. code-block:: python - - db = await aiosqlite.connect(...) - cursor = await db.execute('SELECT * FROM some_table') - row = await cursor.fetchone() - rows = await cursor.fetchall() - await cursor.close() - await db.close() - -aiosqlite also replicates most of the advanced features of ``sqlite3``: - -.. code-block:: python - - async with aiosqlite.connect(...) as db: - db.row_factory = aiosqlite.Row - async with db.execute('SELECT * FROM some_table') as cursor: - async for row in cursor: - value = row['column'] - - await db.execute('INSERT INTO foo some_table') - assert db.total_changes > 0 - - -Install -------- - -aiosqlite is compatible with Python 3.8 and newer. -You can install it from PyPI: - -.. code-block:: console - - $ pip install aiosqlite - - -Details -------- - -aiosqlite allows interaction with SQLite databases on the main AsyncIO event -loop without blocking execution of other coroutines while waiting for queries -or data fetches. It does this by using a single, shared thread per connection. -This thread executes all actions within a shared request queue to prevent -overlapping actions. - -Connection objects are proxies to the real connections, contain the shared -execution thread, and provide context managers to handle automatically closing -connections. Cursors are similarly proxies to the real cursors, and provide -async iterators to query results. - - -License -------- - -aiosqlite is copyright `Amethyst Reese `_, and licensed under the -MIT license. I am providing code in this repository to you under an open source -license. This is my personal repository; the license you receive to my code -is from me and not from my employer. See the `LICENSE`_ file for details. - -.. _LICENSE: https://github.com/omnilib/aiosqlite/blob/master/LICENSE - diff --git a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/RECORD b/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/RECORD deleted file mode 100644 index 6236eb3..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/RECORD +++ /dev/null @@ -1,26 +0,0 @@ -aiosqlite-0.20.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -aiosqlite-0.20.0.dist-info/LICENSE,sha256=qwwXHcPvi_MlqEu3fYVUIfJhEzXd9uCIFrKSLE7cD3Y,1071 -aiosqlite-0.20.0.dist-info/METADATA,sha256=Ec4xgHlepuHQhJ8Ldg7EkveV2Aj8wdc8P6gaUzfNU28,4275 -aiosqlite-0.20.0.dist-info/RECORD,, -aiosqlite-0.20.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81 -aiosqlite/__init__.py,sha256=JMIfUTUQRPkz3IrNFp3MK3uIMfGkMauUKZ3TS1vnqqk,893 -aiosqlite/__pycache__/__init__.cpython-311.pyc,, -aiosqlite/__pycache__/__version__.cpython-311.pyc,, -aiosqlite/__pycache__/context.cpython-311.pyc,, -aiosqlite/__pycache__/core.cpython-311.pyc,, -aiosqlite/__pycache__/cursor.cpython-311.pyc,, -aiosqlite/__version__.py,sha256=6eee2XXMX-6B4aIDDNSY-QHv9gvpf7vhSTbYTyDebNU,157 -aiosqlite/context.py,sha256=d78NqvrUgj3UQFFbwpJM0S1TjNtJJ5VpQ77pq3j3OIk,1372 -aiosqlite/core.py,sha256=37wORBXtJ4xhDdqOVvqppDNM4XeNYD6RHslVkzMCBYI,12226 -aiosqlite/cursor.py,sha256=XzdHbUCy76Ot53r5cAHvepU6LyXxNSNR2Oh9L1a4M6s,3504 -aiosqlite/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -aiosqlite/tests/__init__.py,sha256=nKLBhR8SLx2dkw4UL052QKD7EzC9ctagfSJ9MpsDPrY,95 -aiosqlite/tests/__main__.py,sha256=V3sH21pONg0y2-WN7rkfvgjf8zO-lS1wFyINq5hTdpA,167 -aiosqlite/tests/__pycache__/__init__.cpython-311.pyc,, -aiosqlite/tests/__pycache__/__main__.cpython-311.pyc,, -aiosqlite/tests/__pycache__/helpers.cpython-311.pyc,, -aiosqlite/tests/__pycache__/perf.cpython-311.pyc,, -aiosqlite/tests/__pycache__/smoke.cpython-311.pyc,, -aiosqlite/tests/helpers.py,sha256=ghmZrf_nEfjkuRpZkCH9Pmg2ZnC19c2Leiq9nXqVX_g,727 -aiosqlite/tests/perf.py,sha256=pBCOKkTLh0j4cz7ZWe3WNxsVmdKTKAw0VWN_K-YwRmc,6593 -aiosqlite/tests/smoke.py,sha256=9B-6Wo4rLP9rfdyRxG_QY2JAJtq7fDTJoT8gjeCkWi4,16580 diff --git a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/WHEEL b/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/WHEEL deleted file mode 100644 index 3b5e64b..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite-0.20.0.dist-info/WHEEL +++ /dev/null @@ -1,4 +0,0 @@ -Wheel-Version: 1.0 -Generator: flit 3.9.0 -Root-Is-Purelib: true -Tag: py3-none-any diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__init__.py b/venv/lib/python3.11/site-packages/aiosqlite/__init__.py deleted file mode 100644 index be7b7bd..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -"""asyncio bridge to the standard sqlite3 module""" - -from sqlite3 import ( # pylint: disable=redefined-builtin - DatabaseError, - Error, - IntegrityError, - NotSupportedError, - OperationalError, - paramstyle, - ProgrammingError, - register_adapter, - register_converter, - Row, - sqlite_version, - sqlite_version_info, - Warning, -) - -__author__ = "Amethyst Reese" -from .__version__ import __version__ -from .core import connect, Connection, Cursor - -__all__ = [ - "__version__", - "paramstyle", - "register_adapter", - "register_converter", - "sqlite_version", - "sqlite_version_info", - "connect", - "Connection", - "Cursor", - "Row", - "Warning", - "Error", - "DatabaseError", - "IntegrityError", - "ProgrammingError", - "OperationalError", - "NotSupportedError", -] diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 6def304..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__version__.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__version__.cpython-311.pyc deleted file mode 100644 index ddd888a..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/__version__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/context.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/context.cpython-311.pyc deleted file mode 100644 index 63efa3e..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/context.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/core.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/core.cpython-311.pyc deleted file mode 100644 index 8814c50..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/core.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/cursor.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/cursor.cpython-311.pyc deleted file mode 100644 index 020ac40..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/__pycache__/cursor.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/__version__.py b/venv/lib/python3.11/site-packages/aiosqlite/__version__.py deleted file mode 100644 index aabb3db..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/__version__.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -This file is automatically generated by attribution. - -Do not edit manually. Get more info at https://attribution.omnilib.dev -""" - -__version__ = "0.20.0" diff --git a/venv/lib/python3.11/site-packages/aiosqlite/context.py b/venv/lib/python3.11/site-packages/aiosqlite/context.py deleted file mode 100644 index 316845f..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/context.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2018 -# Licensed under the MIT license - - -from functools import wraps -from typing import Any, AsyncContextManager, Callable, Coroutine, Generator, TypeVar - -from .cursor import Cursor - -_T = TypeVar("_T") - - -class Result(AsyncContextManager[_T], Coroutine[Any, Any, _T]): - __slots__ = ("_coro", "_obj") - - def __init__(self, coro: Coroutine[Any, Any, _T]): - self._coro = coro - self._obj: _T - - def send(self, value) -> None: - return self._coro.send(value) - - def throw(self, typ, val=None, tb=None) -> None: - if val is None: - return self._coro.throw(typ) - - if tb is None: - return self._coro.throw(typ, val) - - return self._coro.throw(typ, val, tb) - - def close(self) -> None: - return self._coro.close() - - def __await__(self) -> Generator[Any, None, _T]: - return self._coro.__await__() - - async def __aenter__(self) -> _T: - self._obj = await self._coro - return self._obj - - async def __aexit__(self, exc_type, exc, tb) -> None: - if isinstance(self._obj, Cursor): - await self._obj.close() - - -def contextmanager( - method: Callable[..., Coroutine[Any, Any, _T]] -) -> Callable[..., Result[_T]]: - @wraps(method) - def wrapper(self, *args, **kwargs) -> Result[_T]: - return Result(method(self, *args, **kwargs)) - - return wrapper diff --git a/venv/lib/python3.11/site-packages/aiosqlite/core.py b/venv/lib/python3.11/site-packages/aiosqlite/core.py deleted file mode 100644 index 58c3fec..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/core.py +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -""" -Core implementation of aiosqlite proxies -""" - -import asyncio -import logging -import sqlite3 -from functools import partial -from pathlib import Path -from queue import Empty, Queue, SimpleQueue -from threading import Thread -from typing import ( - Any, - AsyncIterator, - Callable, - Generator, - Iterable, - Literal, - Optional, - Tuple, - Type, - Union, -) -from warnings import warn - -from .context import contextmanager -from .cursor import Cursor - -__all__ = ["connect", "Connection", "Cursor"] - -LOG = logging.getLogger("aiosqlite") - - -IsolationLevel = Optional[Literal["DEFERRED", "IMMEDIATE", "EXCLUSIVE"]] - - -def set_result(fut: asyncio.Future, result: Any) -> None: - """Set the result of a future if it hasn't been set already.""" - if not fut.done(): - fut.set_result(result) - - -def set_exception(fut: asyncio.Future, e: BaseException) -> None: - """Set the exception of a future if it hasn't been set already.""" - if not fut.done(): - fut.set_exception(e) - - -_STOP_RUNNING_SENTINEL = object() - - -class Connection(Thread): - def __init__( - self, - connector: Callable[[], sqlite3.Connection], - iter_chunk_size: int, - loop: Optional[asyncio.AbstractEventLoop] = None, - ) -> None: - super().__init__() - self._running = True - self._connection: Optional[sqlite3.Connection] = None - self._connector = connector - self._tx: SimpleQueue[Tuple[asyncio.Future, Callable[[], Any]]] = SimpleQueue() - self._iter_chunk_size = iter_chunk_size - - if loop is not None: - warn( - "aiosqlite.Connection no longer uses the `loop` parameter", - DeprecationWarning, - ) - - def _stop_running(self): - self._running = False - # PEP 661 is not accepted yet, so we cannot type a sentinel - self._tx.put_nowait(_STOP_RUNNING_SENTINEL) # type: ignore[arg-type] - - @property - def _conn(self) -> sqlite3.Connection: - if self._connection is None: - raise ValueError("no active connection") - - return self._connection - - def _execute_insert(self, sql: str, parameters: Any) -> Optional[sqlite3.Row]: - cursor = self._conn.execute(sql, parameters) - cursor.execute("SELECT last_insert_rowid()") - return cursor.fetchone() - - def _execute_fetchall(self, sql: str, parameters: Any) -> Iterable[sqlite3.Row]: - cursor = self._conn.execute(sql, parameters) - return cursor.fetchall() - - def run(self) -> None: - """ - Execute function calls on a separate thread. - - :meta private: - """ - while True: - # Continues running until all queue items are processed, - # even after connection is closed (so we can finalize all - # futures) - - tx_item = self._tx.get() - if tx_item is _STOP_RUNNING_SENTINEL: - break - - future, function = tx_item - - try: - LOG.debug("executing %s", function) - result = function() - LOG.debug("operation %s completed", function) - future.get_loop().call_soon_threadsafe(set_result, future, result) - except BaseException as e: # noqa B036 - LOG.debug("returning exception %s", e) - future.get_loop().call_soon_threadsafe(set_exception, future, e) - - async def _execute(self, fn, *args, **kwargs): - """Queue a function with the given arguments for execution.""" - if not self._running or not self._connection: - raise ValueError("Connection closed") - - function = partial(fn, *args, **kwargs) - future = asyncio.get_event_loop().create_future() - - self._tx.put_nowait((future, function)) - - return await future - - async def _connect(self) -> "Connection": - """Connect to the actual sqlite database.""" - if self._connection is None: - try: - future = asyncio.get_event_loop().create_future() - self._tx.put_nowait((future, self._connector)) - self._connection = await future - except Exception: - self._stop_running() - self._connection = None - raise - - return self - - def __await__(self) -> Generator[Any, None, "Connection"]: - self.start() - return self._connect().__await__() - - async def __aenter__(self) -> "Connection": - return await self - - async def __aexit__(self, exc_type, exc_val, exc_tb) -> None: - await self.close() - - @contextmanager - async def cursor(self) -> Cursor: - """Create an aiosqlite cursor wrapping a sqlite3 cursor object.""" - return Cursor(self, await self._execute(self._conn.cursor)) - - async def commit(self) -> None: - """Commit the current transaction.""" - await self._execute(self._conn.commit) - - async def rollback(self) -> None: - """Roll back the current transaction.""" - await self._execute(self._conn.rollback) - - async def close(self) -> None: - """Complete queued queries/cursors and close the connection.""" - - if self._connection is None: - return - - try: - await self._execute(self._conn.close) - except Exception: - LOG.info("exception occurred while closing connection") - raise - finally: - self._stop_running() - self._connection = None - - @contextmanager - async def execute( - self, sql: str, parameters: Optional[Iterable[Any]] = None - ) -> Cursor: - """Helper to create a cursor and execute the given query.""" - if parameters is None: - parameters = [] - cursor = await self._execute(self._conn.execute, sql, parameters) - return Cursor(self, cursor) - - @contextmanager - async def execute_insert( - self, sql: str, parameters: Optional[Iterable[Any]] = None - ) -> Optional[sqlite3.Row]: - """Helper to insert and get the last_insert_rowid.""" - if parameters is None: - parameters = [] - return await self._execute(self._execute_insert, sql, parameters) - - @contextmanager - async def execute_fetchall( - self, sql: str, parameters: Optional[Iterable[Any]] = None - ) -> Iterable[sqlite3.Row]: - """Helper to execute a query and return all the data.""" - if parameters is None: - parameters = [] - return await self._execute(self._execute_fetchall, sql, parameters) - - @contextmanager - async def executemany( - self, sql: str, parameters: Iterable[Iterable[Any]] - ) -> Cursor: - """Helper to create a cursor and execute the given multiquery.""" - cursor = await self._execute(self._conn.executemany, sql, parameters) - return Cursor(self, cursor) - - @contextmanager - async def executescript(self, sql_script: str) -> Cursor: - """Helper to create a cursor and execute a user script.""" - cursor = await self._execute(self._conn.executescript, sql_script) - return Cursor(self, cursor) - - async def interrupt(self) -> None: - """Interrupt pending queries.""" - return self._conn.interrupt() - - async def create_function( - self, name: str, num_params: int, func: Callable, deterministic: bool = False - ) -> None: - """ - Create user-defined function that can be later used - within SQL statements. Must be run within the same thread - that query executions take place so instead of executing directly - against the connection, we defer this to `run` function. - - If ``deterministic`` is true, the created function is marked as deterministic, - which allows SQLite to perform additional optimizations. This flag is supported - by SQLite 3.8.3 or higher, ``NotSupportedError`` will be raised if used with - older versions. - """ - await self._execute( - self._conn.create_function, - name, - num_params, - func, - deterministic=deterministic, - ) - - @property - def in_transaction(self) -> bool: - return self._conn.in_transaction - - @property - def isolation_level(self) -> Optional[str]: - return self._conn.isolation_level - - @isolation_level.setter - def isolation_level(self, value: IsolationLevel) -> None: - self._conn.isolation_level = value - - @property - def row_factory(self) -> Optional[Type]: - return self._conn.row_factory - - @row_factory.setter - def row_factory(self, factory: Optional[Type]) -> None: - self._conn.row_factory = factory - - @property - def text_factory(self) -> Callable[[bytes], Any]: - return self._conn.text_factory - - @text_factory.setter - def text_factory(self, factory: Callable[[bytes], Any]) -> None: - self._conn.text_factory = factory - - @property - def total_changes(self) -> int: - return self._conn.total_changes - - async def enable_load_extension(self, value: bool) -> None: - await self._execute(self._conn.enable_load_extension, value) # type: ignore - - async def load_extension(self, path: str): - await self._execute(self._conn.load_extension, path) # type: ignore - - async def set_progress_handler( - self, handler: Callable[[], Optional[int]], n: int - ) -> None: - await self._execute(self._conn.set_progress_handler, handler, n) - - async def set_trace_callback(self, handler: Callable) -> None: - await self._execute(self._conn.set_trace_callback, handler) - - async def iterdump(self) -> AsyncIterator[str]: - """ - Return an async iterator to dump the database in SQL text format. - - Example:: - - async for line in db.iterdump(): - ... - - """ - dump_queue: Queue = Queue() - - def dumper(): - try: - for line in self._conn.iterdump(): - dump_queue.put_nowait(line) - dump_queue.put_nowait(None) - - except Exception: - LOG.exception("exception while dumping db") - dump_queue.put_nowait(None) - raise - - fut = self._execute(dumper) - task = asyncio.ensure_future(fut) - - while True: - try: - line: Optional[str] = dump_queue.get_nowait() - if line is None: - break - yield line - - except Empty: - if task.done(): - LOG.warning("iterdump completed unexpectedly") - break - - await asyncio.sleep(0.01) - - await task - - async def backup( - self, - target: Union["Connection", sqlite3.Connection], - *, - pages: int = 0, - progress: Optional[Callable[[int, int, int], None]] = None, - name: str = "main", - sleep: float = 0.250, - ) -> None: - """ - Make a backup of the current database to the target database. - - Takes either a standard sqlite3 or aiosqlite Connection object as the target. - """ - if isinstance(target, Connection): - target = target._conn - - await self._execute( - self._conn.backup, - target, - pages=pages, - progress=progress, - name=name, - sleep=sleep, - ) - - -def connect( - database: Union[str, Path], - *, - iter_chunk_size=64, - loop: Optional[asyncio.AbstractEventLoop] = None, - **kwargs: Any, -) -> Connection: - """Create and return a connection proxy to the sqlite database.""" - - if loop is not None: - warn( - "aiosqlite.connect() no longer uses the `loop` parameter", - DeprecationWarning, - ) - - def connector() -> sqlite3.Connection: - if isinstance(database, str): - loc = database - elif isinstance(database, bytes): - loc = database.decode("utf-8") - else: - loc = str(database) - - return sqlite3.connect(loc, **kwargs) - - return Connection(connector, iter_chunk_size) diff --git a/venv/lib/python3.11/site-packages/aiosqlite/cursor.py b/venv/lib/python3.11/site-packages/aiosqlite/cursor.py deleted file mode 100644 index 197938f..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/cursor.py +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -import sqlite3 -from typing import ( - Any, - AsyncIterator, - Callable, - Iterable, - Optional, - Tuple, - Type, - TYPE_CHECKING, -) - -if TYPE_CHECKING: - from .core import Connection - - -class Cursor: - def __init__(self, conn: "Connection", cursor: sqlite3.Cursor) -> None: - self.iter_chunk_size = conn._iter_chunk_size - self._conn = conn - self._cursor = cursor - - def __aiter__(self) -> AsyncIterator[sqlite3.Row]: - """The cursor proxy is also an async iterator.""" - return self._fetch_chunked() - - async def _fetch_chunked(self): - while True: - rows = await self.fetchmany(self.iter_chunk_size) - if not rows: - return - for row in rows: - yield row - - async def _execute(self, fn, *args, **kwargs): - """Execute the given function on the shared connection's thread.""" - return await self._conn._execute(fn, *args, **kwargs) - - async def execute( - self, sql: str, parameters: Optional[Iterable[Any]] = None - ) -> "Cursor": - """Execute the given query.""" - if parameters is None: - parameters = [] - await self._execute(self._cursor.execute, sql, parameters) - return self - - async def executemany( - self, sql: str, parameters: Iterable[Iterable[Any]] - ) -> "Cursor": - """Execute the given multiquery.""" - await self._execute(self._cursor.executemany, sql, parameters) - return self - - async def executescript(self, sql_script: str) -> "Cursor": - """Execute a user script.""" - await self._execute(self._cursor.executescript, sql_script) - return self - - async def fetchone(self) -> Optional[sqlite3.Row]: - """Fetch a single row.""" - return await self._execute(self._cursor.fetchone) - - async def fetchmany(self, size: Optional[int] = None) -> Iterable[sqlite3.Row]: - """Fetch up to `cursor.arraysize` number of rows.""" - args: Tuple[int, ...] = () - if size is not None: - args = (size,) - return await self._execute(self._cursor.fetchmany, *args) - - async def fetchall(self) -> Iterable[sqlite3.Row]: - """Fetch all remaining rows.""" - return await self._execute(self._cursor.fetchall) - - async def close(self) -> None: - """Close the cursor.""" - await self._execute(self._cursor.close) - - @property - def rowcount(self) -> int: - return self._cursor.rowcount - - @property - def lastrowid(self) -> Optional[int]: - return self._cursor.lastrowid - - @property - def arraysize(self) -> int: - return self._cursor.arraysize - - @arraysize.setter - def arraysize(self, value: int) -> None: - self._cursor.arraysize = value - - @property - def description(self) -> Tuple[Tuple[str, None, None, None, None, None, None], ...]: - return self._cursor.description - - @property - def row_factory(self) -> Optional[Callable[[sqlite3.Cursor, sqlite3.Row], object]]: - return self._cursor.row_factory - - @row_factory.setter - def row_factory(self, factory: Optional[Type]) -> None: - self._cursor.row_factory = factory - - @property - def connection(self) -> sqlite3.Connection: - return self._cursor.connection - - async def __aenter__(self): - return self - - async def __aexit__(self, exc_type, exc_val, exc_tb): - await self.close() diff --git a/venv/lib/python3.11/site-packages/aiosqlite/py.typed b/venv/lib/python3.11/site-packages/aiosqlite/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__init__.py b/venv/lib/python3.11/site-packages/aiosqlite/tests/__init__.py deleted file mode 100644 index 4b173f6..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/tests/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -from .smoke import SmokeTest diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__main__.py b/venv/lib/python3.11/site-packages/aiosqlite/tests/__main__.py deleted file mode 100644 index 648131e..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/tests/__main__.py +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -import unittest - -if __name__ == "__main__": - unittest.main(module="aiosqlite.tests", verbosity=2) diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 63612cd..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__main__.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__main__.cpython-311.pyc deleted file mode 100644 index cf58dbd..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/__main__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/helpers.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/helpers.cpython-311.pyc deleted file mode 100644 index 271f6d7..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/helpers.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/perf.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/perf.cpython-311.pyc deleted file mode 100644 index f4cedc0..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/perf.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/smoke.cpython-311.pyc b/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/smoke.cpython-311.pyc deleted file mode 100644 index 1d4c26a..0000000 Binary files a/venv/lib/python3.11/site-packages/aiosqlite/tests/__pycache__/smoke.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/helpers.py b/venv/lib/python3.11/site-packages/aiosqlite/tests/helpers.py deleted file mode 100644 index f7b53fe..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/tests/helpers.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -import logging -import sys - - -def setup_logger(): - log = logging.getLogger("") - log.setLevel(logging.INFO) - - logging.addLevelName(logging.ERROR, "E") - logging.addLevelName(logging.WARNING, "W") - logging.addLevelName(logging.INFO, "I") - logging.addLevelName(logging.DEBUG, "V") - - date_fmt = r"%H:%M:%S" - verbose_fmt = ( - "%(asctime)s,%(msecs)d %(levelname)s " - "%(module)s:%(funcName)s():%(lineno)d " - "%(message)s" - ) - - handler = logging.StreamHandler(sys.stdout) - handler.setLevel(logging.INFO) - handler.setFormatter(logging.Formatter(verbose_fmt, date_fmt)) - log.addHandler(handler) - - return log diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/perf.py b/venv/lib/python3.11/site-packages/aiosqlite/tests/perf.py deleted file mode 100644 index 08f0335..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/tests/perf.py +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license - -""" -Simple perf tests for aiosqlite and the asyncio run loop. -""" -import string -import tempfile -import time - -from unittest import IsolatedAsyncioTestCase as TestCase - -import aiosqlite -from .smoke import setup_logger - -TEST_DB = ":memory:" -TARGET = 2.0 -RESULTS = {} - - -def timed(fn, name=None): - """ - Decorator for perf testing a block of async code. - - Expects the wrapped function to return an async generator. - The generator should do setup, then yield when ready to start perf testing. - The decorator will then pump the generator repeatedly until the target - time has been reached, then close the generator and print perf results. - """ - - name = name or fn.__name__ - - async def wrapper(*args, **kwargs): - gen = fn(*args, **kwargs) - - await gen.asend(None) - count = 0 - before = time.time() - - while True: - count += 1 - value = time.time() - before < TARGET - try: - if value: - await gen.asend(value) - else: - await gen.aclose() - break - - except StopAsyncIteration: - break - - except Exception as e: - print(f"exception occurred: {e}") - return - - duration = time.time() - before - - RESULTS[name] = (count, duration) - - return wrapper - - -class PerfTest(TestCase): - @classmethod - def setUpClass(cls): - print(f"Running perf tests for at least {TARGET:.1f}s each...") - setup_logger() - - @classmethod - def tearDownClass(cls): - print(f"\n{'Perf Test':<25} Iterations Duration {'Rate':>11}") - for name in sorted(RESULTS): - count, duration = RESULTS[name] - rate = count / duration - name = name.replace("test_", "") - print(f"{name:<25} {count:>10} {duration:>7.1f}s {rate:>9.1f}/s") - - @timed - async def test_connection_memory(self): - while True: - yield - async with aiosqlite.connect(TEST_DB): - pass - - @timed - async def test_connection_file(self): - with tempfile.NamedTemporaryFile(delete=False) as tf: - path = tf.name - tf.close() - - async with aiosqlite.connect(path) as db: - await db.execute( - "create table perf (i integer primary key asc, k integer)" - ) - await db.execute("insert into perf (k) values (2), (3)") - await db.commit() - - while True: - yield - async with aiosqlite.connect(path): - pass - - @timed - async def test_atomics(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - await db.execute("insert into perf (k) values (2), (3)") - await db.commit() - - while True: - yield - async with db.execute("select last_insert_rowid()") as cursor: - await cursor.fetchone() - - @timed - async def test_inserts(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - await db.commit() - - while True: - yield - await db.execute("insert into perf (k) values (1), (2), (3)") - await db.commit() - - @timed - async def test_insert_ids(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - await db.commit() - - while True: - yield - cursor = await db.execute("insert into perf (k) values (1)") - await cursor.execute("select last_insert_rowid()") - await cursor.fetchone() - await db.commit() - - @timed - async def test_insert_macro_ids(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - await db.commit() - - while True: - yield - await db.execute_insert("insert into perf (k) values (1)") - await db.commit() - - @timed - async def test_select(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - for i in range(100): - await db.execute("insert into perf (k) values (%d)" % (i,)) - await db.commit() - - while True: - yield - cursor = await db.execute("select i, k from perf") - assert len(await cursor.fetchall()) == 100 - - @timed - async def test_select_macro(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table perf (i integer primary key asc, k integer)") - for i in range(100): - await db.execute("insert into perf (k) values (%d)" % (i,)) - await db.commit() - - while True: - yield - assert len(await db.execute_fetchall("select i, k from perf")) == 100 - - async def test_iterable_cursor_perf(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute( - "create table ic_perf (" - "i integer primary key asc, k integer, a integer, b integer, c char(16))" - ) - for batch in range(128): # add 128k rows - r_start = batch * 1024 - await db.executemany( - "insert into ic_perf (k, a, b, c) values(?, 1, 2, ?)", - [ - *[ - (i, string.ascii_lowercase) - for i in range(r_start, r_start + 1024) - ] - ], - ) - await db.commit() - - async def test_perf(chunk_size: int): - while True: - async with db.execute("SELECT * FROM ic_perf") as cursor: - cursor.iter_chunk_size = chunk_size - async for _ in cursor: - yield - - for chunk_size in [2**i for i in range(4, 11)]: - await timed(test_perf, f"iterable_cursor @ {chunk_size}")(chunk_size) diff --git a/venv/lib/python3.11/site-packages/aiosqlite/tests/smoke.py b/venv/lib/python3.11/site-packages/aiosqlite/tests/smoke.py deleted file mode 100644 index f42106c..0000000 --- a/venv/lib/python3.11/site-packages/aiosqlite/tests/smoke.py +++ /dev/null @@ -1,452 +0,0 @@ -# Copyright 2022 Amethyst Reese -# Licensed under the MIT license -import asyncio -import sqlite3 -from pathlib import Path -from sqlite3 import OperationalError -from threading import Thread -from unittest import IsolatedAsyncioTestCase as TestCase, SkipTest - -import aiosqlite -from .helpers import setup_logger - -TEST_DB = Path("test.db") - -# pypy uses non-standard text factory for low-level sqlite implementation -try: - from _sqlite3 import _unicode_text_factory as default_text_factory -except ImportError: - default_text_factory = str - - -class SmokeTest(TestCase): - @classmethod - def setUpClass(cls): - setup_logger() - - def setUp(self): - if TEST_DB.exists(): - TEST_DB.unlink() - - def tearDown(self): - if TEST_DB.exists(): - TEST_DB.unlink() - - async def test_connection_await(self): - db = await aiosqlite.connect(TEST_DB) - self.assertIsInstance(db, aiosqlite.Connection) - - async with db.execute("select 1, 2") as cursor: - rows = await cursor.fetchall() - self.assertEqual(rows, [(1, 2)]) - - await db.close() - - async def test_connection_context(self): - async with aiosqlite.connect(TEST_DB) as db: - self.assertIsInstance(db, aiosqlite.Connection) - - async with db.execute("select 1, 2") as cursor: - rows = await cursor.fetchall() - self.assertEqual(rows, [(1, 2)]) - - async def test_connection_locations(self): - class Fake: # pylint: disable=too-few-public-methods - def __str__(self): - return str(TEST_DB) - - locs = ("test.db", b"test.db", Path("test.db"), Fake()) - - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("create table foo (i integer, k integer)") - await db.execute("insert into foo (i, k) values (1, 5)") - await db.commit() - - cursor = await db.execute("select * from foo") - rows = await cursor.fetchall() - - for loc in locs: - async with aiosqlite.connect(loc) as db: - cursor = await db.execute("select * from foo") - self.assertEqual(await cursor.fetchall(), rows) - - async def test_multiple_connections(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute( - "create table multiple_connections " - "(i integer primary key asc, k integer)" - ) - - async def do_one_conn(i): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute("insert into multiple_connections (k) values (?)", [i]) - await db.commit() - - await asyncio.gather(*[do_one_conn(i) for i in range(10)]) - - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.execute("select * from multiple_connections") - rows = await cursor.fetchall() - - assert len(rows) == 10 - - async def test_multiple_queries(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute( - "create table multiple_queries " - "(i integer primary key asc, k integer)" - ) - - await asyncio.gather( - *[ - db.execute("insert into multiple_queries (k) values (?)", [i]) - for i in range(10) - ] - ) - - await db.commit() - - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.execute("select * from multiple_queries") - rows = await cursor.fetchall() - - assert len(rows) == 10 - - async def test_iterable_cursor(self): - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.cursor() - await cursor.execute( - "create table iterable_cursor " "(i integer primary key asc, k integer)" - ) - await cursor.executemany( - "insert into iterable_cursor (k) values (?)", [[i] for i in range(10)] - ) - await db.commit() - - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.execute("select * from iterable_cursor") - rows = [] - async for row in cursor: - rows.append(row) - - assert len(rows) == 10 - - async def test_multi_loop_usage(self): - results = {} - - def runner(k, conn): - async def query(): - async with conn.execute("select * from foo") as cursor: - rows = await cursor.fetchall() - self.assertEqual(len(rows), 2) - return rows - - with self.subTest(k): - loop = asyncio.new_event_loop() - rows = loop.run_until_complete(query()) - loop.close() - results[k] = rows - - async with aiosqlite.connect(":memory:") as db: - await db.execute("create table foo (id int, name varchar)") - await db.execute( - "insert into foo values (?, ?), (?, ?)", (1, "Sally", 2, "Janet") - ) - await db.commit() - - threads = [Thread(target=runner, args=(k, db)) for k in range(4)] - for thread in threads: - thread.start() - for thread in threads: - thread.join() - - self.assertEqual(len(results), 4) - for rows in results.values(): - self.assertEqual(len(rows), 2) - - async def test_context_cursor(self): - async with aiosqlite.connect(TEST_DB) as db: - async with db.cursor() as cursor: - await cursor.execute( - "create table context_cursor " - "(i integer primary key asc, k integer)" - ) - await cursor.executemany( - "insert into context_cursor (k) values (?)", - [[i] for i in range(10)], - ) - await db.commit() - - async with aiosqlite.connect(TEST_DB) as db: - async with db.execute("select * from context_cursor") as cursor: - rows = [] - async for row in cursor: - rows.append(row) - - assert len(rows) == 10 - - async def test_cursor_return_self(self): - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.cursor() - - result = await cursor.execute( - "create table test_cursor_return_self (i integer, k integer)" - ) - self.assertEqual(result, cursor, "cursor execute returns itself") - - result = await cursor.executemany( - "insert into test_cursor_return_self values (?, ?)", [(1, 1), (2, 2)] - ) - self.assertEqual(result, cursor) - - result = await cursor.executescript( - "insert into test_cursor_return_self values (3, 3);" - "insert into test_cursor_return_self values (4, 4);" - "insert into test_cursor_return_self values (5, 5);" - ) - self.assertEqual(result, cursor) - - async def test_connection_properties(self): - async with aiosqlite.connect(TEST_DB) as db: - self.assertEqual(db.total_changes, 0) - - async with db.cursor() as cursor: - self.assertFalse(db.in_transaction) - await cursor.execute( - "create table test_properties " - "(i integer primary key asc, k integer, d text)" - ) - await cursor.execute( - "insert into test_properties (k, d) values (1, 'hi')" - ) - self.assertTrue(db.in_transaction) - await db.commit() - self.assertFalse(db.in_transaction) - - self.assertEqual(db.total_changes, 1) - - self.assertIsNone(db.row_factory) - self.assertEqual(db.text_factory, default_text_factory) - - async with db.cursor() as cursor: - await cursor.execute("select * from test_properties") - row = await cursor.fetchone() - self.assertIsInstance(row, tuple) - self.assertEqual(row, (1, 1, "hi")) - with self.assertRaises(TypeError): - _ = row["k"] - - async with db.cursor() as cursor: - cursor.row_factory = aiosqlite.Row - self.assertEqual(cursor.row_factory, aiosqlite.Row) - await cursor.execute("select * from test_properties") - row = await cursor.fetchone() - self.assertIsInstance(row, aiosqlite.Row) - self.assertEqual(row[1], 1) - self.assertEqual(row[2], "hi") - self.assertEqual(row["k"], 1) - self.assertEqual(row["d"], "hi") - - db.row_factory = aiosqlite.Row - db.text_factory = bytes - self.assertEqual(db.row_factory, aiosqlite.Row) - self.assertEqual(db.text_factory, bytes) - - async with db.cursor() as cursor: - await cursor.execute("select * from test_properties") - row = await cursor.fetchone() - self.assertIsInstance(row, aiosqlite.Row) - self.assertEqual(row[1], 1) - self.assertEqual(row[2], b"hi") - self.assertEqual(row["k"], 1) - self.assertEqual(row["d"], b"hi") - - async def test_fetch_all(self): - async with aiosqlite.connect(TEST_DB) as db: - await db.execute( - "create table test_fetch_all (i integer primary key asc, k integer)" - ) - await db.execute( - "insert into test_fetch_all (k) values (10), (24), (16), (32)" - ) - await db.commit() - - async with aiosqlite.connect(TEST_DB) as db: - cursor = await db.execute("select k from test_fetch_all where k < 30") - rows = await cursor.fetchall() - self.assertEqual(rows, [(10,), (24,), (16,)]) - - async def test_enable_load_extension(self): - """Assert that after enabling extension loading, they can be loaded""" - async with aiosqlite.connect(TEST_DB) as db: - try: - await db.enable_load_extension(True) - await db.load_extension("test") - except OperationalError as e: - assert "not authorized" not in e.args - except AttributeError as e: - raise SkipTest( - "python was not compiled with sqlite3 " - "extension support, so we can't test it" - ) from e - - async def test_set_progress_handler(self): - """ - Assert that after setting a progress handler returning 1, DB operations are aborted - """ - async with aiosqlite.connect(TEST_DB) as db: - await db.set_progress_handler(lambda: 1, 1) - with self.assertRaises(OperationalError): - await db.execute( - "create table test_progress_handler (i integer primary key asc, k integer)" - ) - - async def test_create_function(self): - """Assert that after creating a custom function, it can be used""" - - def no_arg(): - return "no arg" - - def one_arg(num): - return num * 2 - - async with aiosqlite.connect(TEST_DB) as db: - await db.create_function("no_arg", 0, no_arg) - await db.create_function("one_arg", 1, one_arg) - - async with db.execute("SELECT no_arg();") as res: - row = await res.fetchone() - self.assertEqual(row[0], "no arg") - - async with db.execute("SELECT one_arg(10);") as res: - row = await res.fetchone() - self.assertEqual(row[0], 20) - - async def test_create_function_deterministic(self): - """Assert that after creating a deterministic custom function, it can be used. - - https://sqlite.org/deterministic.html - """ - - def one_arg(num): - return num * 2 - - async with aiosqlite.connect(TEST_DB) as db: - await db.create_function("one_arg", 1, one_arg, deterministic=True) - await db.execute("create table foo (id int, bar int)") - - # Non-deterministic functions cannot be used in indexes - await db.execute("create index t on foo(one_arg(bar))") - - async def test_set_trace_callback(self): - statements = [] - - def callback(statement: str): - statements.append(statement) - - async with aiosqlite.connect(TEST_DB) as db: - await db.set_trace_callback(callback) - - await db.execute("select 10") - self.assertIn("select 10", statements) - - async def test_connect_error(self): - bad_db = Path("/something/that/shouldnt/exist.db") - with self.assertRaisesRegex(OperationalError, "unable to open database"): - async with aiosqlite.connect(bad_db) as db: - self.assertIsNone(db) # should never be reached - - with self.assertRaisesRegex(OperationalError, "unable to open database"): - await aiosqlite.connect(bad_db) - - async def test_iterdump(self): - async with aiosqlite.connect(":memory:") as db: - await db.execute("create table foo (i integer, k charvar(250))") - await db.executemany( - "insert into foo values (?, ?)", [(1, "hello"), (2, "world")] - ) - - lines = [line async for line in db.iterdump()] - self.assertEqual( - lines, - [ - "BEGIN TRANSACTION;", - "CREATE TABLE foo (i integer, k charvar(250));", - "INSERT INTO \"foo\" VALUES(1,'hello');", - "INSERT INTO \"foo\" VALUES(2,'world');", - "COMMIT;", - ], - ) - - async def test_cursor_on_closed_connection(self): - db = await aiosqlite.connect(TEST_DB) - - cursor = await db.execute("select 1, 2") - await db.close() - with self.assertRaisesRegex(ValueError, "Connection closed"): - await cursor.fetchall() - with self.assertRaisesRegex(ValueError, "Connection closed"): - await cursor.fetchall() - - async def test_cursor_on_closed_connection_loop(self): - db = await aiosqlite.connect(TEST_DB) - - cursor = await db.execute("select 1, 2") - tasks = [] - for i in range(100): - if i == 50: - tasks.append(asyncio.ensure_future(db.close())) - tasks.append(asyncio.ensure_future(cursor.fetchall())) - for task in tasks: - try: - await task - except sqlite3.ProgrammingError: - pass - - async def test_close_twice(self): - db = await aiosqlite.connect(TEST_DB) - - await db.close() - - # no error - await db.close() - - async def test_backup_aiosqlite(self): - def progress(a, b, c): - print(a, b, c) - - async with aiosqlite.connect(":memory:") as db1, aiosqlite.connect( - ":memory:" - ) as db2: - await db1.execute("create table foo (i integer, k charvar(250))") - await db1.executemany( - "insert into foo values (?, ?)", [(1, "hello"), (2, "world")] - ) - await db1.commit() - - with self.assertRaisesRegex(OperationalError, "no such table: foo"): - await db2.execute("select * from foo") - - await db1.backup(db2, progress=progress) - - async with db2.execute("select * from foo") as cursor: - rows = await cursor.fetchall() - self.assertEqual(rows, [(1, "hello"), (2, "world")]) - - async def test_backup_sqlite(self): - async with aiosqlite.connect(":memory:") as db1: - with sqlite3.connect(":memory:") as db2: - await db1.execute("create table foo (i integer, k charvar(250))") - await db1.executemany( - "insert into foo values (?, ?)", [(1, "hello"), (2, "world")] - ) - await db1.commit() - - with self.assertRaisesRegex(OperationalError, "no such table: foo"): - db2.execute("select * from foo") - - await db1.backup(db2) - - cursor = db2.execute("select * from foo") - rows = cursor.fetchall() - self.assertEqual(rows, [(1, "hello"), (2, "world")]) diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/LICENSE b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/LICENSE deleted file mode 100644 index 104eebf..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 Alex Grönholm - -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.11/site-packages/anyio-4.3.0.dist-info/METADATA b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/METADATA deleted file mode 100644 index e02715c..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/METADATA +++ /dev/null @@ -1,104 +0,0 @@ -Metadata-Version: 2.1 -Name: anyio -Version: 4.3.0 -Summary: High level compatibility layer for multiple asynchronous event loop implementations -Author-email: Alex Grönholm -License: MIT -Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/ -Project-URL: Changelog, https://anyio.readthedocs.io/en/stable/versionhistory.html -Project-URL: Source code, https://github.com/agronholm/anyio -Project-URL: Issue tracker, https://github.com/agronholm/anyio/issues -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Framework :: AnyIO -Classifier: Typing :: Typed -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Requires-Python: >=3.8 -Description-Content-Type: text/x-rst -License-File: LICENSE -Requires-Dist: idna >=2.8 -Requires-Dist: sniffio >=1.1 -Requires-Dist: exceptiongroup >=1.0.2 ; python_version < "3.11" -Requires-Dist: typing-extensions >=4.1 ; python_version < "3.11" -Provides-Extra: doc -Requires-Dist: packaging ; extra == 'doc' -Requires-Dist: Sphinx >=7 ; extra == 'doc' -Requires-Dist: sphinx-rtd-theme ; extra == 'doc' -Requires-Dist: sphinx-autodoc-typehints >=1.2.0 ; extra == 'doc' -Provides-Extra: test -Requires-Dist: anyio[trio] ; extra == 'test' -Requires-Dist: coverage[toml] >=7 ; extra == 'test' -Requires-Dist: exceptiongroup >=1.2.0 ; extra == 'test' -Requires-Dist: hypothesis >=4.0 ; extra == 'test' -Requires-Dist: psutil >=5.9 ; extra == 'test' -Requires-Dist: pytest >=7.0 ; extra == 'test' -Requires-Dist: pytest-mock >=3.6.1 ; extra == 'test' -Requires-Dist: trustme ; extra == 'test' -Requires-Dist: uvloop >=0.17 ; (platform_python_implementation == "CPython" and platform_system != "Windows") and extra == 'test' -Provides-Extra: trio -Requires-Dist: trio >=0.23 ; extra == 'trio' - -.. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg - :target: https://github.com/agronholm/anyio/actions/workflows/test.yml - :alt: Build Status -.. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master - :target: https://coveralls.io/github/agronholm/anyio?branch=master - :alt: Code Coverage -.. image:: https://readthedocs.org/projects/anyio/badge/?version=latest - :target: https://anyio.readthedocs.io/en/latest/?badge=latest - :alt: Documentation -.. image:: https://badges.gitter.im/gitterHQ/gitter.svg - :target: https://gitter.im/python-trio/AnyIO - :alt: Gitter chat - -AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or -trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio and works in harmony -with the native SC of trio itself. - -Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or -trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full -refactoring necessary. It will blend in with the native libraries of your chosen backend. - -Documentation -------------- - -View full documentation at: https://anyio.readthedocs.io/ - -Features --------- - -AnyIO offers the following functionality: - -* Task groups (nurseries_ in trio terminology) -* High-level networking (TCP, UDP and UNIX sockets) - - * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python - 3.8) - * async/await style UDP sockets (unlike asyncio where you still have to use Transports and - Protocols) - -* A versatile API for byte streams and object streams -* Inter-task synchronization and communication (locks, conditions, events, semaphores, object - streams) -* Worker threads -* Subprocesses -* Asynchronous file I/O (using worker threads) -* Signal handling - -AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures. -It even works with the popular Hypothesis_ library. - -.. _asyncio: https://docs.python.org/3/library/asyncio.html -.. _trio: https://github.com/python-trio/trio -.. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency -.. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning -.. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs -.. _pytest: https://docs.pytest.org/en/latest/ -.. _Hypothesis: https://hypothesis.works/ diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/RECORD b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/RECORD deleted file mode 100644 index 593bf79..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/RECORD +++ /dev/null @@ -1,82 +0,0 @@ -anyio-4.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -anyio-4.3.0.dist-info/LICENSE,sha256=U2GsncWPLvX9LpsJxoKXwX8ElQkJu8gCO9uC6s8iwrA,1081 -anyio-4.3.0.dist-info/METADATA,sha256=Xy5N0vn6s_rjN1C0EbX_z1N_lf3bZIJu88RAQxVAsrI,4599 -anyio-4.3.0.dist-info/RECORD,, -anyio-4.3.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92 -anyio-4.3.0.dist-info/entry_points.txt,sha256=_d6Yu6uiaZmNe0CydowirE9Cmg7zUL2g08tQpoS3Qvc,39 -anyio-4.3.0.dist-info/top_level.txt,sha256=QglSMiWX8_5dpoVAEIHdEYzvqFMdSYWmCj6tYw2ITkQ,6 -anyio/__init__.py,sha256=CxUxIHOIONI3KpsDLCg-dI6lQaDkW_4Zhtu5jWt1XO8,4344 -anyio/__pycache__/__init__.cpython-311.pyc,, -anyio/__pycache__/from_thread.cpython-311.pyc,, -anyio/__pycache__/lowlevel.cpython-311.pyc,, -anyio/__pycache__/pytest_plugin.cpython-311.pyc,, -anyio/__pycache__/to_process.cpython-311.pyc,, -anyio/__pycache__/to_thread.cpython-311.pyc,, -anyio/_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -anyio/_backends/__pycache__/__init__.cpython-311.pyc,, -anyio/_backends/__pycache__/_asyncio.cpython-311.pyc,, -anyio/_backends/__pycache__/_trio.cpython-311.pyc,, -anyio/_backends/_asyncio.py,sha256=D1ME_t4zfei7sm7Ic8jEQBsAc3uMykvsQjZxhT5aTNg,81968 -anyio/_backends/_trio.py,sha256=87ahML2dsX3uQuCkyIB4E7XFK6jAGpxs5hVlGmHHd8Q,35642 -anyio/_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -anyio/_core/__pycache__/__init__.cpython-311.pyc,, -anyio/_core/__pycache__/_eventloop.cpython-311.pyc,, -anyio/_core/__pycache__/_exceptions.cpython-311.pyc,, -anyio/_core/__pycache__/_fileio.cpython-311.pyc,, -anyio/_core/__pycache__/_resources.cpython-311.pyc,, -anyio/_core/__pycache__/_signals.cpython-311.pyc,, -anyio/_core/__pycache__/_sockets.cpython-311.pyc,, -anyio/_core/__pycache__/_streams.cpython-311.pyc,, -anyio/_core/__pycache__/_subprocesses.cpython-311.pyc,, -anyio/_core/__pycache__/_synchronization.cpython-311.pyc,, -anyio/_core/__pycache__/_tasks.cpython-311.pyc,, -anyio/_core/__pycache__/_testing.cpython-311.pyc,, -anyio/_core/__pycache__/_typedattr.cpython-311.pyc,, -anyio/_core/_eventloop.py,sha256=uCwWwGtN9Tf46nkcWLyku8iYEFWCkSjPW0AkDbnpCM0,4408 -anyio/_core/_exceptions.py,sha256=wUmhDu80qEB7z9EdCqUwVEhNUlNEok4_W2-rC6sCAUQ,2078 -anyio/_core/_fileio.py,sha256=Zdp3L0_T7mMCaYq3bFTCb-udTnIknKpzcLEvHK-Tmbc,19512 -anyio/_core/_resources.py,sha256=NbmU5O5UX3xEyACnkmYX28Fmwdl-f-ny0tHym26e0w0,435 -anyio/_core/_signals.py,sha256=rDOVxtugZDgC5AhfW3lrwsre2n9Pj_adoRUidBiF6dA,878 -anyio/_core/_sockets.py,sha256=HwOMg0xUPw0T7N-aipxq_4OEM703llh3I9_YIg9a4XM,24048 -anyio/_core/_streams.py,sha256=Z8ZlTY6xom5EszrMsgCT3TphiT4JIlQG-y33CrD0NQY,1811 -anyio/_core/_subprocesses.py,sha256=ZLLNXAtlRGfbyC4sOIltYB1k3NJa3tqk_x_Fsnbcs1M,5272 -anyio/_core/_synchronization.py,sha256=h3o6dWWbzVrcNmi7i2mQjEgRtnIxkGtjmYK7KMpdlaE,18444 -anyio/_core/_tasks.py,sha256=pvVEX2Fw159sf0ypAPerukKsZgRRwvFFedVW52nR2Vk,4764 -anyio/_core/_testing.py,sha256=i97S5rSWIFqfCGPm4mEMdiJaUpVskk-cWEjarWTeXXs,1964 -anyio/_core/_typedattr.py,sha256=QTbaIwZEewhwAKvbBHFBcO_cRhNP_lXjAobEldzExCU,2499 -anyio/abc/__init__.py,sha256=U44_s3BglL8BojWQiq0KuokvCqkunIp-ySH3GyRXxAc,2681 -anyio/abc/__pycache__/__init__.cpython-311.pyc,, -anyio/abc/__pycache__/_eventloop.cpython-311.pyc,, -anyio/abc/__pycache__/_resources.cpython-311.pyc,, -anyio/abc/__pycache__/_sockets.cpython-311.pyc,, -anyio/abc/__pycache__/_streams.cpython-311.pyc,, -anyio/abc/__pycache__/_subprocesses.cpython-311.pyc,, -anyio/abc/__pycache__/_tasks.cpython-311.pyc,, -anyio/abc/__pycache__/_testing.cpython-311.pyc,, -anyio/abc/_eventloop.py,sha256=QOtkEHCkoE8czGu4RNzZ_q-xNjC0nRyoS0QQJ5KTvYU,10097 -anyio/abc/_resources.py,sha256=KBJP3wGbvSfKfTjfOLL4QCJdeiaNwqqF_6FwPsmQssM,763 -anyio/abc/_sockets.py,sha256=XdZ42TQ1omZN9Ec3HUfTMWG_i-21yMjXQ_FFslAZtzQ,6269 -anyio/abc/_streams.py,sha256=GzST5Q2zQmxVzdrAqtbSyHNxkPlIC9AzeZJg_YyPAXw,6598 -anyio/abc/_subprocesses.py,sha256=cumAPJTktOQtw63IqG0lDpyZqu_l1EElvQHMiwJgL08,2067 -anyio/abc/_tasks.py,sha256=q3bEbCF46I2tQjYSbRdbaavq0R_HOV9JAjzQr8biprU,2747 -anyio/abc/_testing.py,sha256=EiWEaIVy15lHszO000Xp4FsB13NbBvC1BpUci47B5zs,1829 -anyio/from_thread.py,sha256=UTEY_NsiqQRukO3L3riQx4Eegulj3RyLlbITJz7pvLM,15749 -anyio/lowlevel.py,sha256=0awnMh05kA5WUNaOBoQZSImBj0xLNRlYOuMGGiztWnM,4185 -anyio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -anyio/pytest_plugin.py,sha256=TBgRAfT-Oxy6efhO1Tziq54NND3Jy4dRmwkMmQXSvhI,5386 -anyio/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -anyio/streams/__pycache__/__init__.cpython-311.pyc,, -anyio/streams/__pycache__/buffered.cpython-311.pyc,, -anyio/streams/__pycache__/file.cpython-311.pyc,, -anyio/streams/__pycache__/memory.cpython-311.pyc,, -anyio/streams/__pycache__/stapled.cpython-311.pyc,, -anyio/streams/__pycache__/text.cpython-311.pyc,, -anyio/streams/__pycache__/tls.cpython-311.pyc,, -anyio/streams/buffered.py,sha256=UCldKC168YuLvT7n3HtNPnQ2iWAMSTYQWbZvzLwMwkM,4500 -anyio/streams/file.py,sha256=6uoTNb5KbMoj-6gS3_xrrL8uZN8Q4iIvOS1WtGyFfKw,4383 -anyio/streams/memory.py,sha256=bqN9YwAPA6ZtdohOsq_YBpLFlRHR5k-W8y0pD_jznb8,9296 -anyio/streams/stapled.py,sha256=U09pCrmOw9kkNhe6tKopsm1QIMT1lFTFvtb-A7SIe4k,4302 -anyio/streams/text.py,sha256=6x8w8xlfCZKTUWQoJiMPoMhSSJFUBRKgoBNSBtbd9yg,5094 -anyio/streams/tls.py,sha256=ev-6yNOGcIkziIkcIfKj8VmLqQJW-iDBJttaKgKDsF4,12752 -anyio/to_process.py,sha256=lx_bt0CUJsS1eSlraw662OpCjRgGXowoyf1Q-i-kOxo,9535 -anyio/to_thread.py,sha256=WM2JQ2MbVsd5D5CM08bQiTwzZIvpsGjfH1Fy247KoDQ,2396 diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/WHEEL b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/WHEEL deleted file mode 100644 index 98c0d20..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.42.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/entry_points.txt b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/entry_points.txt deleted file mode 100644 index 44dd9bd..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/entry_points.txt +++ /dev/null @@ -1,2 +0,0 @@ -[pytest11] -anyio = anyio.pytest_plugin diff --git a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/top_level.txt deleted file mode 100644 index c77c069..0000000 --- a/venv/lib/python3.11/site-packages/anyio-4.3.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -anyio diff --git a/venv/lib/python3.11/site-packages/anyio/__init__.py b/venv/lib/python3.11/site-packages/anyio/__init__.py deleted file mode 100644 index 7bfe231..0000000 --- a/venv/lib/python3.11/site-packages/anyio/__init__.py +++ /dev/null @@ -1,76 +0,0 @@ -from __future__ import annotations - -from typing import Any - -from ._core._eventloop import current_time as current_time -from ._core._eventloop import get_all_backends as get_all_backends -from ._core._eventloop import get_cancelled_exc_class as get_cancelled_exc_class -from ._core._eventloop import run as run -from ._core._eventloop import sleep as sleep -from ._core._eventloop import sleep_forever as sleep_forever -from ._core._eventloop import sleep_until as sleep_until -from ._core._exceptions import BrokenResourceError as BrokenResourceError -from ._core._exceptions import BrokenWorkerProcess as BrokenWorkerProcess -from ._core._exceptions import BusyResourceError as BusyResourceError -from ._core._exceptions import ClosedResourceError as ClosedResourceError -from ._core._exceptions import DelimiterNotFound as DelimiterNotFound -from ._core._exceptions import EndOfStream as EndOfStream -from ._core._exceptions import IncompleteRead as IncompleteRead -from ._core._exceptions import TypedAttributeLookupError as TypedAttributeLookupError -from ._core._exceptions import WouldBlock as WouldBlock -from ._core._fileio import AsyncFile as AsyncFile -from ._core._fileio import Path as Path -from ._core._fileio import open_file as open_file -from ._core._fileio import wrap_file as wrap_file -from ._core._resources import aclose_forcefully as aclose_forcefully -from ._core._signals import open_signal_receiver as open_signal_receiver -from ._core._sockets import connect_tcp as connect_tcp -from ._core._sockets import connect_unix as connect_unix -from ._core._sockets import create_connected_udp_socket as create_connected_udp_socket -from ._core._sockets import ( - create_connected_unix_datagram_socket as create_connected_unix_datagram_socket, -) -from ._core._sockets import create_tcp_listener as create_tcp_listener -from ._core._sockets import create_udp_socket as create_udp_socket -from ._core._sockets import create_unix_datagram_socket as create_unix_datagram_socket -from ._core._sockets import create_unix_listener as create_unix_listener -from ._core._sockets import getaddrinfo as getaddrinfo -from ._core._sockets import getnameinfo as getnameinfo -from ._core._sockets import wait_socket_readable as wait_socket_readable -from ._core._sockets import wait_socket_writable as wait_socket_writable -from ._core._streams import create_memory_object_stream as create_memory_object_stream -from ._core._subprocesses import open_process as open_process -from ._core._subprocesses import run_process as run_process -from ._core._synchronization import CapacityLimiter as CapacityLimiter -from ._core._synchronization import ( - CapacityLimiterStatistics as CapacityLimiterStatistics, -) -from ._core._synchronization import Condition as Condition -from ._core._synchronization import ConditionStatistics as ConditionStatistics -from ._core._synchronization import Event as Event -from ._core._synchronization import EventStatistics as EventStatistics -from ._core._synchronization import Lock as Lock -from ._core._synchronization import LockStatistics as LockStatistics -from ._core._synchronization import ResourceGuard as ResourceGuard -from ._core._synchronization import Semaphore as Semaphore -from ._core._synchronization import SemaphoreStatistics as SemaphoreStatistics -from ._core._tasks import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED -from ._core._tasks import CancelScope as CancelScope -from ._core._tasks import create_task_group as create_task_group -from ._core._tasks import current_effective_deadline as current_effective_deadline -from ._core._tasks import fail_after as fail_after -from ._core._tasks import move_on_after as move_on_after -from ._core._testing import TaskInfo as TaskInfo -from ._core._testing import get_current_task as get_current_task -from ._core._testing import get_running_tasks as get_running_tasks -from ._core._testing import wait_all_tasks_blocked as wait_all_tasks_blocked -from ._core._typedattr import TypedAttributeProvider as TypedAttributeProvider -from ._core._typedattr import TypedAttributeSet as TypedAttributeSet -from ._core._typedattr import typed_attribute as typed_attribute - -# Re-export imports so they look like they live directly in this package -key: str -value: Any -for key, value in list(locals().items()): - if getattr(value, "__module__", "").startswith("anyio."): - value.__module__ = __name__ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 1b5ce8f..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc deleted file mode 100644 index 9fb43b0..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/from_thread.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc deleted file mode 100644 index 7954b70..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/lowlevel.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc deleted file mode 100644 index d979661..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/pytest_plugin.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc deleted file mode 100644 index e02e6bb..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/to_process.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc deleted file mode 100644 index f50ac62..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/__pycache__/to_thread.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/__init__.py b/venv/lib/python3.11/site-packages/anyio/_backends/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index b016e2e..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc deleted file mode 100644 index fd8f88a..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc deleted file mode 100644 index aa2c0cd..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_backends/__pycache__/_trio.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py b/venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py deleted file mode 100644 index 2699bf8..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py +++ /dev/null @@ -1,2478 +0,0 @@ -from __future__ import annotations - -import array -import asyncio -import concurrent.futures -import math -import socket -import sys -import threading -from asyncio import ( - AbstractEventLoop, - CancelledError, - all_tasks, - create_task, - current_task, - get_running_loop, - sleep, -) -from asyncio.base_events import _run_until_complete_cb # type: ignore[attr-defined] -from collections import OrderedDict, deque -from collections.abc import AsyncIterator, Generator, Iterable -from concurrent.futures import Future -from contextlib import suppress -from contextvars import Context, copy_context -from dataclasses import dataclass -from functools import partial, wraps -from inspect import ( - CORO_RUNNING, - CORO_SUSPENDED, - getcoroutinestate, - iscoroutine, -) -from io import IOBase -from os import PathLike -from queue import Queue -from signal import Signals -from socket import AddressFamily, SocketKind -from threading import Thread -from types import TracebackType -from typing import ( - IO, - Any, - AsyncGenerator, - Awaitable, - Callable, - Collection, - ContextManager, - Coroutine, - Mapping, - Optional, - Sequence, - Tuple, - TypeVar, - cast, -) -from weakref import WeakKeyDictionary - -import sniffio - -from .. import CapacityLimiterStatistics, EventStatistics, TaskInfo, abc -from .._core._eventloop import claim_worker_thread, threadlocals -from .._core._exceptions import ( - BrokenResourceError, - BusyResourceError, - ClosedResourceError, - EndOfStream, - WouldBlock, -) -from .._core._sockets import convert_ipv6_sockaddr -from .._core._streams import create_memory_object_stream -from .._core._synchronization import CapacityLimiter as BaseCapacityLimiter -from .._core._synchronization import Event as BaseEvent -from .._core._synchronization import ResourceGuard -from .._core._tasks import CancelScope as BaseCancelScope -from ..abc import ( - AsyncBackend, - IPSockAddrType, - SocketListener, - UDPPacketType, - UNIXDatagramPacketType, -) -from ..lowlevel import RunVar -from ..streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream - -if sys.version_info >= (3, 10): - from typing import ParamSpec -else: - from typing_extensions import ParamSpec - -if sys.version_info >= (3, 11): - from asyncio import Runner - from typing import TypeVarTuple, Unpack -else: - import contextvars - import enum - import signal - from asyncio import coroutines, events, exceptions, tasks - - from exceptiongroup import BaseExceptionGroup - from typing_extensions import TypeVarTuple, Unpack - - class _State(enum.Enum): - CREATED = "created" - INITIALIZED = "initialized" - CLOSED = "closed" - - class Runner: - # Copied from CPython 3.11 - def __init__( - self, - *, - debug: bool | None = None, - loop_factory: Callable[[], AbstractEventLoop] | None = None, - ): - self._state = _State.CREATED - self._debug = debug - self._loop_factory = loop_factory - self._loop: AbstractEventLoop | None = None - self._context = None - self._interrupt_count = 0 - self._set_event_loop = False - - def __enter__(self) -> Runner: - self._lazy_init() - return self - - def __exit__( - self, - exc_type: type[BaseException], - exc_val: BaseException, - exc_tb: TracebackType, - ) -> None: - self.close() - - def close(self) -> None: - """Shutdown and close event loop.""" - if self._state is not _State.INITIALIZED: - return - try: - loop = self._loop - _cancel_all_tasks(loop) - loop.run_until_complete(loop.shutdown_asyncgens()) - if hasattr(loop, "shutdown_default_executor"): - loop.run_until_complete(loop.shutdown_default_executor()) - else: - loop.run_until_complete(_shutdown_default_executor(loop)) - finally: - if self._set_event_loop: - events.set_event_loop(None) - loop.close() - self._loop = None - self._state = _State.CLOSED - - def get_loop(self) -> AbstractEventLoop: - """Return embedded event loop.""" - self._lazy_init() - return self._loop - - def run(self, coro: Coroutine[T_Retval], *, context=None) -> T_Retval: - """Run a coroutine inside the embedded event loop.""" - if not coroutines.iscoroutine(coro): - raise ValueError(f"a coroutine was expected, got {coro!r}") - - if events._get_running_loop() is not None: - # fail fast with short traceback - raise RuntimeError( - "Runner.run() cannot be called from a running event loop" - ) - - self._lazy_init() - - if context is None: - context = self._context - task = context.run(self._loop.create_task, coro) - - if ( - threading.current_thread() is threading.main_thread() - and signal.getsignal(signal.SIGINT) is signal.default_int_handler - ): - sigint_handler = partial(self._on_sigint, main_task=task) - try: - signal.signal(signal.SIGINT, sigint_handler) - except ValueError: - # `signal.signal` may throw if `threading.main_thread` does - # not support signals (e.g. embedded interpreter with signals - # not registered - see gh-91880) - sigint_handler = None - else: - sigint_handler = None - - self._interrupt_count = 0 - try: - return self._loop.run_until_complete(task) - except exceptions.CancelledError: - if self._interrupt_count > 0: - uncancel = getattr(task, "uncancel", None) - if uncancel is not None and uncancel() == 0: - raise KeyboardInterrupt() - raise # CancelledError - finally: - if ( - sigint_handler is not None - and signal.getsignal(signal.SIGINT) is sigint_handler - ): - signal.signal(signal.SIGINT, signal.default_int_handler) - - def _lazy_init(self) -> None: - if self._state is _State.CLOSED: - raise RuntimeError("Runner is closed") - if self._state is _State.INITIALIZED: - return - if self._loop_factory is None: - self._loop = events.new_event_loop() - if not self._set_event_loop: - # Call set_event_loop only once to avoid calling - # attach_loop multiple times on child watchers - events.set_event_loop(self._loop) - self._set_event_loop = True - else: - self._loop = self._loop_factory() - if self._debug is not None: - self._loop.set_debug(self._debug) - self._context = contextvars.copy_context() - self._state = _State.INITIALIZED - - def _on_sigint(self, signum, frame, main_task: asyncio.Task) -> None: - self._interrupt_count += 1 - if self._interrupt_count == 1 and not main_task.done(): - main_task.cancel() - # wakeup loop if it is blocked by select() with long timeout - self._loop.call_soon_threadsafe(lambda: None) - return - raise KeyboardInterrupt() - - def _cancel_all_tasks(loop: AbstractEventLoop) -> None: - to_cancel = tasks.all_tasks(loop) - if not to_cancel: - return - - for task in to_cancel: - task.cancel() - - loop.run_until_complete(tasks.gather(*to_cancel, return_exceptions=True)) - - for task in to_cancel: - if task.cancelled(): - continue - if task.exception() is not None: - loop.call_exception_handler( - { - "message": "unhandled exception during asyncio.run() shutdown", - "exception": task.exception(), - "task": task, - } - ) - - async def _shutdown_default_executor(loop: AbstractEventLoop) -> None: - """Schedule the shutdown of the default executor.""" - - def _do_shutdown(future: asyncio.futures.Future) -> None: - try: - loop._default_executor.shutdown(wait=True) # type: ignore[attr-defined] - loop.call_soon_threadsafe(future.set_result, None) - except Exception as ex: - loop.call_soon_threadsafe(future.set_exception, ex) - - loop._executor_shutdown_called = True - if loop._default_executor is None: - return - future = loop.create_future() - thread = threading.Thread(target=_do_shutdown, args=(future,)) - thread.start() - try: - await future - finally: - thread.join() - - -T_Retval = TypeVar("T_Retval") -T_contra = TypeVar("T_contra", contravariant=True) -PosArgsT = TypeVarTuple("PosArgsT") -P = ParamSpec("P") - -_root_task: RunVar[asyncio.Task | None] = RunVar("_root_task") - - -def find_root_task() -> asyncio.Task: - root_task = _root_task.get(None) - if root_task is not None and not root_task.done(): - return root_task - - # Look for a task that has been started via run_until_complete() - for task in all_tasks(): - if task._callbacks and not task.done(): - callbacks = [cb for cb, context in task._callbacks] - for cb in callbacks: - if ( - cb is _run_until_complete_cb - or getattr(cb, "__module__", None) == "uvloop.loop" - ): - _root_task.set(task) - return task - - # Look up the topmost task in the AnyIO task tree, if possible - task = cast(asyncio.Task, current_task()) - state = _task_states.get(task) - if state: - cancel_scope = state.cancel_scope - while cancel_scope and cancel_scope._parent_scope is not None: - cancel_scope = cancel_scope._parent_scope - - if cancel_scope is not None: - return cast(asyncio.Task, cancel_scope._host_task) - - return task - - -def get_callable_name(func: Callable) -> str: - module = getattr(func, "__module__", None) - qualname = getattr(func, "__qualname__", None) - return ".".join([x for x in (module, qualname) if x]) - - -# -# Event loop -# - -_run_vars: WeakKeyDictionary[asyncio.AbstractEventLoop, Any] = WeakKeyDictionary() - - -def _task_started(task: asyncio.Task) -> bool: - """Return ``True`` if the task has been started and has not finished.""" - try: - return getcoroutinestate(task.get_coro()) in (CORO_RUNNING, CORO_SUSPENDED) - except AttributeError: - # task coro is async_genenerator_asend https://bugs.python.org/issue37771 - raise Exception(f"Cannot determine if task {task} has started or not") from None - - -# -# Timeouts and cancellation -# - - -class CancelScope(BaseCancelScope): - def __new__( - cls, *, deadline: float = math.inf, shield: bool = False - ) -> CancelScope: - return object.__new__(cls) - - def __init__(self, deadline: float = math.inf, shield: bool = False): - self._deadline = deadline - self._shield = shield - self._parent_scope: CancelScope | None = None - self._child_scopes: set[CancelScope] = set() - self._cancel_called = False - self._cancelled_caught = False - self._active = False - self._timeout_handle: asyncio.TimerHandle | None = None - self._cancel_handle: asyncio.Handle | None = None - self._tasks: set[asyncio.Task] = set() - self._host_task: asyncio.Task | None = None - self._cancel_calls: int = 0 - self._cancelling: int | None = None - - def __enter__(self) -> CancelScope: - if self._active: - raise RuntimeError( - "Each CancelScope may only be used for a single 'with' block" - ) - - self._host_task = host_task = cast(asyncio.Task, current_task()) - self._tasks.add(host_task) - try: - task_state = _task_states[host_task] - except KeyError: - task_state = TaskState(None, self) - _task_states[host_task] = task_state - else: - self._parent_scope = task_state.cancel_scope - task_state.cancel_scope = self - if self._parent_scope is not None: - self._parent_scope._child_scopes.add(self) - self._parent_scope._tasks.remove(host_task) - - self._timeout() - self._active = True - if sys.version_info >= (3, 11): - self._cancelling = self._host_task.cancelling() - - # Start cancelling the host task if the scope was cancelled before entering - if self._cancel_called: - self._deliver_cancellation(self) - - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - if not self._active: - raise RuntimeError("This cancel scope is not active") - if current_task() is not self._host_task: - raise RuntimeError( - "Attempted to exit cancel scope in a different task than it was " - "entered in" - ) - - assert self._host_task is not None - host_task_state = _task_states.get(self._host_task) - if host_task_state is None or host_task_state.cancel_scope is not self: - raise RuntimeError( - "Attempted to exit a cancel scope that isn't the current tasks's " - "current cancel scope" - ) - - self._active = False - if self._timeout_handle: - self._timeout_handle.cancel() - self._timeout_handle = None - - self._tasks.remove(self._host_task) - if self._parent_scope is not None: - self._parent_scope._child_scopes.remove(self) - self._parent_scope._tasks.add(self._host_task) - - host_task_state.cancel_scope = self._parent_scope - - # Restart the cancellation effort in the closest directly cancelled parent - # scope if this one was shielded - self._restart_cancellation_in_parent() - - if self._cancel_called and exc_val is not None: - for exc in iterate_exceptions(exc_val): - if isinstance(exc, CancelledError): - self._cancelled_caught = self._uncancel(exc) - if self._cancelled_caught: - break - - return self._cancelled_caught - - return None - - def _uncancel(self, cancelled_exc: CancelledError) -> bool: - if sys.version_info < (3, 9) or self._host_task is None: - self._cancel_calls = 0 - return True - - # Undo all cancellations done by this scope - if self._cancelling is not None: - while self._cancel_calls: - self._cancel_calls -= 1 - if self._host_task.uncancel() <= self._cancelling: - return True - - self._cancel_calls = 0 - return f"Cancelled by cancel scope {id(self):x}" in cancelled_exc.args - - def _timeout(self) -> None: - if self._deadline != math.inf: - loop = get_running_loop() - if loop.time() >= self._deadline: - self.cancel() - else: - self._timeout_handle = loop.call_at(self._deadline, self._timeout) - - def _deliver_cancellation(self, origin: CancelScope) -> bool: - """ - Deliver cancellation to directly contained tasks and nested cancel scopes. - - Schedule another run at the end if we still have tasks eligible for - cancellation. - - :param origin: the cancel scope that originated the cancellation - :return: ``True`` if the delivery needs to be retried on the next cycle - - """ - should_retry = False - current = current_task() - for task in self._tasks: - if task._must_cancel: # type: ignore[attr-defined] - continue - - # The task is eligible for cancellation if it has started - should_retry = True - if task is not current and (task is self._host_task or _task_started(task)): - waiter = task._fut_waiter # type: ignore[attr-defined] - if not isinstance(waiter, asyncio.Future) or not waiter.done(): - self._cancel_calls += 1 - if sys.version_info >= (3, 9): - task.cancel(f"Cancelled by cancel scope {id(origin):x}") - else: - task.cancel() - - # Deliver cancellation to child scopes that aren't shielded or running their own - # cancellation callbacks - for scope in self._child_scopes: - if not scope._shield and not scope.cancel_called: - should_retry = scope._deliver_cancellation(origin) or should_retry - - # Schedule another callback if there are still tasks left - if origin is self: - if should_retry: - self._cancel_handle = get_running_loop().call_soon( - self._deliver_cancellation, origin - ) - else: - self._cancel_handle = None - - return should_retry - - def _restart_cancellation_in_parent(self) -> None: - """ - Restart the cancellation effort in the closest directly cancelled parent scope. - - """ - scope = self._parent_scope - while scope is not None: - if scope._cancel_called: - if scope._cancel_handle is None: - scope._deliver_cancellation(scope) - - break - - # No point in looking beyond any shielded scope - if scope._shield: - break - - scope = scope._parent_scope - - def _parent_cancelled(self) -> bool: - # Check whether any parent has been cancelled - cancel_scope = self._parent_scope - while cancel_scope is not None and not cancel_scope._shield: - if cancel_scope._cancel_called: - return True - else: - cancel_scope = cancel_scope._parent_scope - - return False - - def cancel(self) -> None: - if not self._cancel_called: - if self._timeout_handle: - self._timeout_handle.cancel() - self._timeout_handle = None - - self._cancel_called = True - if self._host_task is not None: - self._deliver_cancellation(self) - - @property - def deadline(self) -> float: - return self._deadline - - @deadline.setter - def deadline(self, value: float) -> None: - self._deadline = float(value) - if self._timeout_handle is not None: - self._timeout_handle.cancel() - self._timeout_handle = None - - if self._active and not self._cancel_called: - self._timeout() - - @property - def cancel_called(self) -> bool: - return self._cancel_called - - @property - def cancelled_caught(self) -> bool: - return self._cancelled_caught - - @property - def shield(self) -> bool: - return self._shield - - @shield.setter - def shield(self, value: bool) -> None: - if self._shield != value: - self._shield = value - if not value: - self._restart_cancellation_in_parent() - - -# -# Task states -# - - -class TaskState: - """ - Encapsulates auxiliary task information that cannot be added to the Task instance - itself because there are no guarantees about its implementation. - """ - - __slots__ = "parent_id", "cancel_scope" - - def __init__(self, parent_id: int | None, cancel_scope: CancelScope | None): - self.parent_id = parent_id - self.cancel_scope = cancel_scope - - -_task_states = WeakKeyDictionary() # type: WeakKeyDictionary[asyncio.Task, TaskState] - - -# -# Task groups -# - - -class _AsyncioTaskStatus(abc.TaskStatus): - def __init__(self, future: asyncio.Future, parent_id: int): - self._future = future - self._parent_id = parent_id - - def started(self, value: T_contra | None = None) -> None: - try: - self._future.set_result(value) - except asyncio.InvalidStateError: - raise RuntimeError( - "called 'started' twice on the same task status" - ) from None - - task = cast(asyncio.Task, current_task()) - _task_states[task].parent_id = self._parent_id - - -def iterate_exceptions( - exception: BaseException, -) -> Generator[BaseException, None, None]: - if isinstance(exception, BaseExceptionGroup): - for exc in exception.exceptions: - yield from iterate_exceptions(exc) - else: - yield exception - - -class TaskGroup(abc.TaskGroup): - def __init__(self) -> None: - self.cancel_scope: CancelScope = CancelScope() - self._active = False - self._exceptions: list[BaseException] = [] - self._tasks: set[asyncio.Task] = set() - - async def __aenter__(self) -> TaskGroup: - self.cancel_scope.__enter__() - self._active = True - return self - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - ignore_exception = self.cancel_scope.__exit__(exc_type, exc_val, exc_tb) - if exc_val is not None: - self.cancel_scope.cancel() - if not isinstance(exc_val, CancelledError): - self._exceptions.append(exc_val) - - cancelled_exc_while_waiting_tasks: CancelledError | None = None - while self._tasks: - try: - await asyncio.wait(self._tasks) - except CancelledError as exc: - # This task was cancelled natively; reraise the CancelledError later - # unless this task was already interrupted by another exception - self.cancel_scope.cancel() - if cancelled_exc_while_waiting_tasks is None: - cancelled_exc_while_waiting_tasks = exc - - self._active = False - if self._exceptions: - raise BaseExceptionGroup( - "unhandled errors in a TaskGroup", self._exceptions - ) - - # Raise the CancelledError received while waiting for child tasks to exit, - # unless the context manager itself was previously exited with another - # exception, or if any of the child tasks raised an exception other than - # CancelledError - if cancelled_exc_while_waiting_tasks: - if exc_val is None or ignore_exception: - raise cancelled_exc_while_waiting_tasks - - return ignore_exception - - def _spawn( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], - args: tuple[Unpack[PosArgsT]], - name: object, - task_status_future: asyncio.Future | None = None, - ) -> asyncio.Task: - def task_done(_task: asyncio.Task) -> None: - task_state = _task_states[_task] - assert task_state.cancel_scope is not None - assert _task in task_state.cancel_scope._tasks - task_state.cancel_scope._tasks.remove(_task) - self._tasks.remove(task) - del _task_states[_task] - - try: - exc = _task.exception() - except CancelledError as e: - while isinstance(e.__context__, CancelledError): - e = e.__context__ - - exc = e - - if exc is not None: - if task_status_future is None or task_status_future.done(): - if not isinstance(exc, CancelledError): - self._exceptions.append(exc) - - if not self.cancel_scope._parent_cancelled(): - self.cancel_scope.cancel() - else: - task_status_future.set_exception(exc) - elif task_status_future is not None and not task_status_future.done(): - task_status_future.set_exception( - RuntimeError("Child exited without calling task_status.started()") - ) - - if not self._active: - raise RuntimeError( - "This task group is not active; no new tasks can be started." - ) - - kwargs = {} - if task_status_future: - parent_id = id(current_task()) - kwargs["task_status"] = _AsyncioTaskStatus( - task_status_future, id(self.cancel_scope._host_task) - ) - else: - parent_id = id(self.cancel_scope._host_task) - - coro = func(*args, **kwargs) - if not iscoroutine(coro): - prefix = f"{func.__module__}." if hasattr(func, "__module__") else "" - raise TypeError( - f"Expected {prefix}{func.__qualname__}() to return a coroutine, but " - f"the return value ({coro!r}) is not a coroutine object" - ) - - name = get_callable_name(func) if name is None else str(name) - task = create_task(coro, name=name) - task.add_done_callback(task_done) - - # Make the spawned task inherit the task group's cancel scope - _task_states[task] = TaskState( - parent_id=parent_id, cancel_scope=self.cancel_scope - ) - self.cancel_scope._tasks.add(task) - self._tasks.add(task) - return task - - def start_soon( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], - *args: Unpack[PosArgsT], - name: object = None, - ) -> None: - self._spawn(func, args, name) - - async def start( - self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None - ) -> Any: - future: asyncio.Future = asyncio.Future() - task = self._spawn(func, args, name, future) - - # If the task raises an exception after sending a start value without a switch - # point between, the task group is cancelled and this method never proceeds to - # process the completed future. That's why we have to have a shielded cancel - # scope here. - try: - return await future - except CancelledError: - # Cancel the task and wait for it to exit before returning - task.cancel() - with CancelScope(shield=True), suppress(CancelledError): - await task - - raise - - -# -# Threads -# - -_Retval_Queue_Type = Tuple[Optional[T_Retval], Optional[BaseException]] - - -class WorkerThread(Thread): - MAX_IDLE_TIME = 10 # seconds - - def __init__( - self, - root_task: asyncio.Task, - workers: set[WorkerThread], - idle_workers: deque[WorkerThread], - ): - super().__init__(name="AnyIO worker thread") - self.root_task = root_task - self.workers = workers - self.idle_workers = idle_workers - self.loop = root_task._loop - self.queue: Queue[ - tuple[Context, Callable, tuple, asyncio.Future, CancelScope] | None - ] = Queue(2) - self.idle_since = AsyncIOBackend.current_time() - self.stopping = False - - def _report_result( - self, future: asyncio.Future, result: Any, exc: BaseException | None - ) -> None: - self.idle_since = AsyncIOBackend.current_time() - if not self.stopping: - self.idle_workers.append(self) - - if not future.cancelled(): - if exc is not None: - if isinstance(exc, StopIteration): - new_exc = RuntimeError("coroutine raised StopIteration") - new_exc.__cause__ = exc - exc = new_exc - - future.set_exception(exc) - else: - future.set_result(result) - - def run(self) -> None: - with claim_worker_thread(AsyncIOBackend, self.loop): - while True: - item = self.queue.get() - if item is None: - # Shutdown command received - return - - context, func, args, future, cancel_scope = item - if not future.cancelled(): - result = None - exception: BaseException | None = None - threadlocals.current_cancel_scope = cancel_scope - try: - result = context.run(func, *args) - except BaseException as exc: - exception = exc - finally: - del threadlocals.current_cancel_scope - - if not self.loop.is_closed(): - self.loop.call_soon_threadsafe( - self._report_result, future, result, exception - ) - - self.queue.task_done() - - def stop(self, f: asyncio.Task | None = None) -> None: - self.stopping = True - self.queue.put_nowait(None) - self.workers.discard(self) - try: - self.idle_workers.remove(self) - except ValueError: - pass - - -_threadpool_idle_workers: RunVar[deque[WorkerThread]] = RunVar( - "_threadpool_idle_workers" -) -_threadpool_workers: RunVar[set[WorkerThread]] = RunVar("_threadpool_workers") - - -class BlockingPortal(abc.BlockingPortal): - def __new__(cls) -> BlockingPortal: - return object.__new__(cls) - - def __init__(self) -> None: - super().__init__() - self._loop = get_running_loop() - - def _spawn_task_from_thread( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - name: object, - future: Future[T_Retval], - ) -> None: - AsyncIOBackend.run_sync_from_thread( - partial(self._task_group.start_soon, name=name), - (self._call_func, func, args, kwargs, future), - self._loop, - ) - - -# -# Subprocesses -# - - -@dataclass(eq=False) -class StreamReaderWrapper(abc.ByteReceiveStream): - _stream: asyncio.StreamReader - - async def receive(self, max_bytes: int = 65536) -> bytes: - data = await self._stream.read(max_bytes) - if data: - return data - else: - raise EndOfStream - - async def aclose(self) -> None: - self._stream.feed_eof() - await AsyncIOBackend.checkpoint() - - -@dataclass(eq=False) -class StreamWriterWrapper(abc.ByteSendStream): - _stream: asyncio.StreamWriter - - async def send(self, item: bytes) -> None: - self._stream.write(item) - await self._stream.drain() - - async def aclose(self) -> None: - self._stream.close() - await AsyncIOBackend.checkpoint() - - -@dataclass(eq=False) -class Process(abc.Process): - _process: asyncio.subprocess.Process - _stdin: StreamWriterWrapper | None - _stdout: StreamReaderWrapper | None - _stderr: StreamReaderWrapper | None - - async def aclose(self) -> None: - with CancelScope(shield=True): - if self._stdin: - await self._stdin.aclose() - if self._stdout: - await self._stdout.aclose() - if self._stderr: - await self._stderr.aclose() - - try: - await self.wait() - except BaseException: - self.kill() - with CancelScope(shield=True): - await self.wait() - - raise - - async def wait(self) -> int: - return await self._process.wait() - - def terminate(self) -> None: - self._process.terminate() - - def kill(self) -> None: - self._process.kill() - - def send_signal(self, signal: int) -> None: - self._process.send_signal(signal) - - @property - def pid(self) -> int: - return self._process.pid - - @property - def returncode(self) -> int | None: - return self._process.returncode - - @property - def stdin(self) -> abc.ByteSendStream | None: - return self._stdin - - @property - def stdout(self) -> abc.ByteReceiveStream | None: - return self._stdout - - @property - def stderr(self) -> abc.ByteReceiveStream | None: - return self._stderr - - -def _forcibly_shutdown_process_pool_on_exit( - workers: set[Process], _task: object -) -> None: - """ - Forcibly shuts down worker processes belonging to this event loop.""" - child_watcher: asyncio.AbstractChildWatcher | None = None - if sys.version_info < (3, 12): - try: - child_watcher = asyncio.get_event_loop_policy().get_child_watcher() - except NotImplementedError: - pass - - # Close as much as possible (w/o async/await) to avoid warnings - for process in workers: - if process.returncode is None: - continue - - process._stdin._stream._transport.close() # type: ignore[union-attr] - process._stdout._stream._transport.close() # type: ignore[union-attr] - process._stderr._stream._transport.close() # type: ignore[union-attr] - process.kill() - if child_watcher: - child_watcher.remove_child_handler(process.pid) - - -async def _shutdown_process_pool_on_exit(workers: set[abc.Process]) -> None: - """ - Shuts down worker processes belonging to this event loop. - - NOTE: this only works when the event loop was started using asyncio.run() or - anyio.run(). - - """ - process: abc.Process - try: - await sleep(math.inf) - except asyncio.CancelledError: - for process in workers: - if process.returncode is None: - process.kill() - - for process in workers: - await process.aclose() - - -# -# Sockets and networking -# - - -class StreamProtocol(asyncio.Protocol): - read_queue: deque[bytes] - read_event: asyncio.Event - write_event: asyncio.Event - exception: Exception | None = None - - def connection_made(self, transport: asyncio.BaseTransport) -> None: - self.read_queue = deque() - self.read_event = asyncio.Event() - self.write_event = asyncio.Event() - self.write_event.set() - cast(asyncio.Transport, transport).set_write_buffer_limits(0) - - def connection_lost(self, exc: Exception | None) -> None: - if exc: - self.exception = BrokenResourceError() - self.exception.__cause__ = exc - - self.read_event.set() - self.write_event.set() - - def data_received(self, data: bytes) -> None: - self.read_queue.append(data) - self.read_event.set() - - def eof_received(self) -> bool | None: - self.read_event.set() - return True - - def pause_writing(self) -> None: - self.write_event = asyncio.Event() - - def resume_writing(self) -> None: - self.write_event.set() - - -class DatagramProtocol(asyncio.DatagramProtocol): - read_queue: deque[tuple[bytes, IPSockAddrType]] - read_event: asyncio.Event - write_event: asyncio.Event - exception: Exception | None = None - - def connection_made(self, transport: asyncio.BaseTransport) -> None: - self.read_queue = deque(maxlen=100) # arbitrary value - self.read_event = asyncio.Event() - self.write_event = asyncio.Event() - self.write_event.set() - - def connection_lost(self, exc: Exception | None) -> None: - self.read_event.set() - self.write_event.set() - - def datagram_received(self, data: bytes, addr: IPSockAddrType) -> None: - addr = convert_ipv6_sockaddr(addr) - self.read_queue.append((data, addr)) - self.read_event.set() - - def error_received(self, exc: Exception) -> None: - self.exception = exc - - def pause_writing(self) -> None: - self.write_event.clear() - - def resume_writing(self) -> None: - self.write_event.set() - - -class SocketStream(abc.SocketStream): - def __init__(self, transport: asyncio.Transport, protocol: StreamProtocol): - self._transport = transport - self._protocol = protocol - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - self._closed = False - - @property - def _raw_socket(self) -> socket.socket: - return self._transport.get_extra_info("socket") - - async def receive(self, max_bytes: int = 65536) -> bytes: - with self._receive_guard: - await AsyncIOBackend.checkpoint() - - if ( - not self._protocol.read_event.is_set() - and not self._transport.is_closing() - ): - self._transport.resume_reading() - await self._protocol.read_event.wait() - self._transport.pause_reading() - - try: - chunk = self._protocol.read_queue.popleft() - except IndexError: - if self._closed: - raise ClosedResourceError from None - elif self._protocol.exception: - raise self._protocol.exception from None - else: - raise EndOfStream from None - - if len(chunk) > max_bytes: - # Split the oversized chunk - chunk, leftover = chunk[:max_bytes], chunk[max_bytes:] - self._protocol.read_queue.appendleft(leftover) - - # If the read queue is empty, clear the flag so that the next call will - # block until data is available - if not self._protocol.read_queue: - self._protocol.read_event.clear() - - return chunk - - async def send(self, item: bytes) -> None: - with self._send_guard: - await AsyncIOBackend.checkpoint() - - if self._closed: - raise ClosedResourceError - elif self._protocol.exception is not None: - raise self._protocol.exception - - try: - self._transport.write(item) - except RuntimeError as exc: - if self._transport.is_closing(): - raise BrokenResourceError from exc - else: - raise - - await self._protocol.write_event.wait() - - async def send_eof(self) -> None: - try: - self._transport.write_eof() - except OSError: - pass - - async def aclose(self) -> None: - if not self._transport.is_closing(): - self._closed = True - try: - self._transport.write_eof() - except OSError: - pass - - self._transport.close() - await sleep(0) - self._transport.abort() - - -class _RawSocketMixin: - _receive_future: asyncio.Future | None = None - _send_future: asyncio.Future | None = None - _closing = False - - def __init__(self, raw_socket: socket.socket): - self.__raw_socket = raw_socket - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - @property - def _raw_socket(self) -> socket.socket: - return self.__raw_socket - - def _wait_until_readable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: - def callback(f: object) -> None: - del self._receive_future - loop.remove_reader(self.__raw_socket) - - f = self._receive_future = asyncio.Future() - loop.add_reader(self.__raw_socket, f.set_result, None) - f.add_done_callback(callback) - return f - - def _wait_until_writable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: - def callback(f: object) -> None: - del self._send_future - loop.remove_writer(self.__raw_socket) - - f = self._send_future = asyncio.Future() - loop.add_writer(self.__raw_socket, f.set_result, None) - f.add_done_callback(callback) - return f - - async def aclose(self) -> None: - if not self._closing: - self._closing = True - if self.__raw_socket.fileno() != -1: - self.__raw_socket.close() - - if self._receive_future: - self._receive_future.set_result(None) - if self._send_future: - self._send_future.set_result(None) - - -class UNIXSocketStream(_RawSocketMixin, abc.UNIXSocketStream): - async def send_eof(self) -> None: - with self._send_guard: - self._raw_socket.shutdown(socket.SHUT_WR) - - async def receive(self, max_bytes: int = 65536) -> bytes: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._receive_guard: - while True: - try: - data = self._raw_socket.recv(max_bytes) - except BlockingIOError: - await self._wait_until_readable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - if not data: - raise EndOfStream - - return data - - async def send(self, item: bytes) -> None: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._send_guard: - view = memoryview(item) - while view: - try: - bytes_sent = self._raw_socket.send(view) - except BlockingIOError: - await self._wait_until_writable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - view = view[bytes_sent:] - - async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: - if not isinstance(msglen, int) or msglen < 0: - raise ValueError("msglen must be a non-negative integer") - if not isinstance(maxfds, int) or maxfds < 1: - raise ValueError("maxfds must be a positive integer") - - loop = get_running_loop() - fds = array.array("i") - await AsyncIOBackend.checkpoint() - with self._receive_guard: - while True: - try: - message, ancdata, flags, addr = self._raw_socket.recvmsg( - msglen, socket.CMSG_LEN(maxfds * fds.itemsize) - ) - except BlockingIOError: - await self._wait_until_readable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - if not message and not ancdata: - raise EndOfStream - - break - - for cmsg_level, cmsg_type, cmsg_data in ancdata: - if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: - raise RuntimeError( - f"Received unexpected ancillary data; message = {message!r}, " - f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" - ) - - fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) - - return message, list(fds) - - async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: - if not message: - raise ValueError("message must not be empty") - if not fds: - raise ValueError("fds must not be empty") - - loop = get_running_loop() - filenos: list[int] = [] - for fd in fds: - if isinstance(fd, int): - filenos.append(fd) - elif isinstance(fd, IOBase): - filenos.append(fd.fileno()) - - fdarray = array.array("i", filenos) - await AsyncIOBackend.checkpoint() - with self._send_guard: - while True: - try: - # The ignore can be removed after mypy picks up - # https://github.com/python/typeshed/pull/5545 - self._raw_socket.sendmsg( - [message], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fdarray)] - ) - break - except BlockingIOError: - await self._wait_until_writable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - - -class TCPSocketListener(abc.SocketListener): - _accept_scope: CancelScope | None = None - _closed = False - - def __init__(self, raw_socket: socket.socket): - self.__raw_socket = raw_socket - self._loop = cast(asyncio.BaseEventLoop, get_running_loop()) - self._accept_guard = ResourceGuard("accepting connections from") - - @property - def _raw_socket(self) -> socket.socket: - return self.__raw_socket - - async def accept(self) -> abc.SocketStream: - if self._closed: - raise ClosedResourceError - - with self._accept_guard: - await AsyncIOBackend.checkpoint() - with CancelScope() as self._accept_scope: - try: - client_sock, _addr = await self._loop.sock_accept(self._raw_socket) - except asyncio.CancelledError: - # Workaround for https://bugs.python.org/issue41317 - try: - self._loop.remove_reader(self._raw_socket) - except (ValueError, NotImplementedError): - pass - - if self._closed: - raise ClosedResourceError from None - - raise - finally: - self._accept_scope = None - - client_sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - transport, protocol = await self._loop.connect_accepted_socket( - StreamProtocol, client_sock - ) - return SocketStream(transport, protocol) - - async def aclose(self) -> None: - if self._closed: - return - - self._closed = True - if self._accept_scope: - # Workaround for https://bugs.python.org/issue41317 - try: - self._loop.remove_reader(self._raw_socket) - except (ValueError, NotImplementedError): - pass - - self._accept_scope.cancel() - await sleep(0) - - self._raw_socket.close() - - -class UNIXSocketListener(abc.SocketListener): - def __init__(self, raw_socket: socket.socket): - self.__raw_socket = raw_socket - self._loop = get_running_loop() - self._accept_guard = ResourceGuard("accepting connections from") - self._closed = False - - async def accept(self) -> abc.SocketStream: - await AsyncIOBackend.checkpoint() - with self._accept_guard: - while True: - try: - client_sock, _ = self.__raw_socket.accept() - client_sock.setblocking(False) - return UNIXSocketStream(client_sock) - except BlockingIOError: - f: asyncio.Future = asyncio.Future() - self._loop.add_reader(self.__raw_socket, f.set_result, None) - f.add_done_callback( - lambda _: self._loop.remove_reader(self.__raw_socket) - ) - await f - except OSError as exc: - if self._closed: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - - async def aclose(self) -> None: - self._closed = True - self.__raw_socket.close() - - @property - def _raw_socket(self) -> socket.socket: - return self.__raw_socket - - -class UDPSocket(abc.UDPSocket): - def __init__( - self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol - ): - self._transport = transport - self._protocol = protocol - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - self._closed = False - - @property - def _raw_socket(self) -> socket.socket: - return self._transport.get_extra_info("socket") - - async def aclose(self) -> None: - if not self._transport.is_closing(): - self._closed = True - self._transport.close() - - async def receive(self) -> tuple[bytes, IPSockAddrType]: - with self._receive_guard: - await AsyncIOBackend.checkpoint() - - # If the buffer is empty, ask for more data - if not self._protocol.read_queue and not self._transport.is_closing(): - self._protocol.read_event.clear() - await self._protocol.read_event.wait() - - try: - return self._protocol.read_queue.popleft() - except IndexError: - if self._closed: - raise ClosedResourceError from None - else: - raise BrokenResourceError from None - - async def send(self, item: UDPPacketType) -> None: - with self._send_guard: - await AsyncIOBackend.checkpoint() - await self._protocol.write_event.wait() - if self._closed: - raise ClosedResourceError - elif self._transport.is_closing(): - raise BrokenResourceError - else: - self._transport.sendto(*item) - - -class ConnectedUDPSocket(abc.ConnectedUDPSocket): - def __init__( - self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol - ): - self._transport = transport - self._protocol = protocol - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - self._closed = False - - @property - def _raw_socket(self) -> socket.socket: - return self._transport.get_extra_info("socket") - - async def aclose(self) -> None: - if not self._transport.is_closing(): - self._closed = True - self._transport.close() - - async def receive(self) -> bytes: - with self._receive_guard: - await AsyncIOBackend.checkpoint() - - # If the buffer is empty, ask for more data - if not self._protocol.read_queue and not self._transport.is_closing(): - self._protocol.read_event.clear() - await self._protocol.read_event.wait() - - try: - packet = self._protocol.read_queue.popleft() - except IndexError: - if self._closed: - raise ClosedResourceError from None - else: - raise BrokenResourceError from None - - return packet[0] - - async def send(self, item: bytes) -> None: - with self._send_guard: - await AsyncIOBackend.checkpoint() - await self._protocol.write_event.wait() - if self._closed: - raise ClosedResourceError - elif self._transport.is_closing(): - raise BrokenResourceError - else: - self._transport.sendto(item) - - -class UNIXDatagramSocket(_RawSocketMixin, abc.UNIXDatagramSocket): - async def receive(self) -> UNIXDatagramPacketType: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._receive_guard: - while True: - try: - data = self._raw_socket.recvfrom(65536) - except BlockingIOError: - await self._wait_until_readable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - return data - - async def send(self, item: UNIXDatagramPacketType) -> None: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._send_guard: - while True: - try: - self._raw_socket.sendto(*item) - except BlockingIOError: - await self._wait_until_writable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - return - - -class ConnectedUNIXDatagramSocket(_RawSocketMixin, abc.ConnectedUNIXDatagramSocket): - async def receive(self) -> bytes: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._receive_guard: - while True: - try: - data = self._raw_socket.recv(65536) - except BlockingIOError: - await self._wait_until_readable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - return data - - async def send(self, item: bytes) -> None: - loop = get_running_loop() - await AsyncIOBackend.checkpoint() - with self._send_guard: - while True: - try: - self._raw_socket.send(item) - except BlockingIOError: - await self._wait_until_writable(loop) - except OSError as exc: - if self._closing: - raise ClosedResourceError from None - else: - raise BrokenResourceError from exc - else: - return - - -_read_events: RunVar[dict[Any, asyncio.Event]] = RunVar("read_events") -_write_events: RunVar[dict[Any, asyncio.Event]] = RunVar("write_events") - - -# -# Synchronization -# - - -class Event(BaseEvent): - def __new__(cls) -> Event: - return object.__new__(cls) - - def __init__(self) -> None: - self._event = asyncio.Event() - - def set(self) -> None: - self._event.set() - - def is_set(self) -> bool: - return self._event.is_set() - - async def wait(self) -> None: - if self.is_set(): - await AsyncIOBackend.checkpoint() - else: - await self._event.wait() - - def statistics(self) -> EventStatistics: - return EventStatistics(len(self._event._waiters)) # type: ignore[attr-defined] - - -class CapacityLimiter(BaseCapacityLimiter): - _total_tokens: float = 0 - - def __new__(cls, total_tokens: float) -> CapacityLimiter: - return object.__new__(cls) - - def __init__(self, total_tokens: float): - self._borrowers: set[Any] = set() - self._wait_queue: OrderedDict[Any, asyncio.Event] = OrderedDict() - self.total_tokens = total_tokens - - async def __aenter__(self) -> None: - await self.acquire() - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.release() - - @property - def total_tokens(self) -> float: - return self._total_tokens - - @total_tokens.setter - def total_tokens(self, value: float) -> None: - if not isinstance(value, int) and not math.isinf(value): - raise TypeError("total_tokens must be an int or math.inf") - if value < 1: - raise ValueError("total_tokens must be >= 1") - - waiters_to_notify = max(value - self._total_tokens, 0) - self._total_tokens = value - - # Notify waiting tasks that they have acquired the limiter - while self._wait_queue and waiters_to_notify: - event = self._wait_queue.popitem(last=False)[1] - event.set() - waiters_to_notify -= 1 - - @property - def borrowed_tokens(self) -> int: - return len(self._borrowers) - - @property - def available_tokens(self) -> float: - return self._total_tokens - len(self._borrowers) - - def acquire_nowait(self) -> None: - self.acquire_on_behalf_of_nowait(current_task()) - - def acquire_on_behalf_of_nowait(self, borrower: object) -> None: - if borrower in self._borrowers: - raise RuntimeError( - "this borrower is already holding one of this CapacityLimiter's " - "tokens" - ) - - if self._wait_queue or len(self._borrowers) >= self._total_tokens: - raise WouldBlock - - self._borrowers.add(borrower) - - async def acquire(self) -> None: - return await self.acquire_on_behalf_of(current_task()) - - async def acquire_on_behalf_of(self, borrower: object) -> None: - await AsyncIOBackend.checkpoint_if_cancelled() - try: - self.acquire_on_behalf_of_nowait(borrower) - except WouldBlock: - event = asyncio.Event() - self._wait_queue[borrower] = event - try: - await event.wait() - except BaseException: - self._wait_queue.pop(borrower, None) - raise - - self._borrowers.add(borrower) - else: - try: - await AsyncIOBackend.cancel_shielded_checkpoint() - except BaseException: - self.release() - raise - - def release(self) -> None: - self.release_on_behalf_of(current_task()) - - def release_on_behalf_of(self, borrower: object) -> None: - try: - self._borrowers.remove(borrower) - except KeyError: - raise RuntimeError( - "this borrower isn't holding any of this CapacityLimiter's " "tokens" - ) from None - - # Notify the next task in line if this limiter has free capacity now - if self._wait_queue and len(self._borrowers) < self._total_tokens: - event = self._wait_queue.popitem(last=False)[1] - event.set() - - def statistics(self) -> CapacityLimiterStatistics: - return CapacityLimiterStatistics( - self.borrowed_tokens, - self.total_tokens, - tuple(self._borrowers), - len(self._wait_queue), - ) - - -_default_thread_limiter: RunVar[CapacityLimiter] = RunVar("_default_thread_limiter") - - -# -# Operating system signals -# - - -class _SignalReceiver: - def __init__(self, signals: tuple[Signals, ...]): - self._signals = signals - self._loop = get_running_loop() - self._signal_queue: deque[Signals] = deque() - self._future: asyncio.Future = asyncio.Future() - self._handled_signals: set[Signals] = set() - - def _deliver(self, signum: Signals) -> None: - self._signal_queue.append(signum) - if not self._future.done(): - self._future.set_result(None) - - def __enter__(self) -> _SignalReceiver: - for sig in set(self._signals): - self._loop.add_signal_handler(sig, self._deliver, sig) - self._handled_signals.add(sig) - - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - for sig in self._handled_signals: - self._loop.remove_signal_handler(sig) - return None - - def __aiter__(self) -> _SignalReceiver: - return self - - async def __anext__(self) -> Signals: - await AsyncIOBackend.checkpoint() - if not self._signal_queue: - self._future = asyncio.Future() - await self._future - - return self._signal_queue.popleft() - - -# -# Testing and debugging -# - - -def _create_task_info(task: asyncio.Task) -> TaskInfo: - task_state = _task_states.get(task) - if task_state is None: - parent_id = None - else: - parent_id = task_state.parent_id - - return TaskInfo(id(task), parent_id, task.get_name(), task.get_coro()) - - -class TestRunner(abc.TestRunner): - _send_stream: MemoryObjectSendStream[tuple[Awaitable[Any], asyncio.Future[Any]]] - - def __init__( - self, - *, - debug: bool | None = None, - use_uvloop: bool = False, - loop_factory: Callable[[], AbstractEventLoop] | None = None, - ) -> None: - if use_uvloop and loop_factory is None: - import uvloop - - loop_factory = uvloop.new_event_loop - - self._runner = Runner(debug=debug, loop_factory=loop_factory) - self._exceptions: list[BaseException] = [] - self._runner_task: asyncio.Task | None = None - - def __enter__(self) -> TestRunner: - self._runner.__enter__() - self.get_loop().set_exception_handler(self._exception_handler) - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self._runner.__exit__(exc_type, exc_val, exc_tb) - - def get_loop(self) -> AbstractEventLoop: - return self._runner.get_loop() - - def _exception_handler( - self, loop: asyncio.AbstractEventLoop, context: dict[str, Any] - ) -> None: - if isinstance(context.get("exception"), Exception): - self._exceptions.append(context["exception"]) - else: - loop.default_exception_handler(context) - - def _raise_async_exceptions(self) -> None: - # Re-raise any exceptions raised in asynchronous callbacks - if self._exceptions: - exceptions, self._exceptions = self._exceptions, [] - if len(exceptions) == 1: - raise exceptions[0] - elif exceptions: - raise BaseExceptionGroup( - "Multiple exceptions occurred in asynchronous callbacks", exceptions - ) - - @staticmethod - async def _run_tests_and_fixtures( - receive_stream: MemoryObjectReceiveStream[ - tuple[Awaitable[T_Retval], asyncio.Future[T_Retval]] - ], - ) -> None: - with receive_stream: - async for coro, future in receive_stream: - try: - retval = await coro - except BaseException as exc: - if not future.cancelled(): - future.set_exception(exc) - else: - if not future.cancelled(): - future.set_result(retval) - - async def _call_in_runner_task( - self, - func: Callable[P, Awaitable[T_Retval]], - *args: P.args, - **kwargs: P.kwargs, - ) -> T_Retval: - if not self._runner_task: - self._send_stream, receive_stream = create_memory_object_stream[ - Tuple[Awaitable[Any], asyncio.Future] - ](1) - self._runner_task = self.get_loop().create_task( - self._run_tests_and_fixtures(receive_stream) - ) - - coro = func(*args, **kwargs) - future: asyncio.Future[T_Retval] = self.get_loop().create_future() - self._send_stream.send_nowait((coro, future)) - return await future - - def run_asyncgen_fixture( - self, - fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], - kwargs: dict[str, Any], - ) -> Iterable[T_Retval]: - asyncgen = fixture_func(**kwargs) - fixturevalue: T_Retval = self.get_loop().run_until_complete( - self._call_in_runner_task(asyncgen.asend, None) - ) - self._raise_async_exceptions() - - yield fixturevalue - - try: - self.get_loop().run_until_complete( - self._call_in_runner_task(asyncgen.asend, None) - ) - except StopAsyncIteration: - self._raise_async_exceptions() - else: - self.get_loop().run_until_complete(asyncgen.aclose()) - raise RuntimeError("Async generator fixture did not stop") - - def run_fixture( - self, - fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], - kwargs: dict[str, Any], - ) -> T_Retval: - retval = self.get_loop().run_until_complete( - self._call_in_runner_task(fixture_func, **kwargs) - ) - self._raise_async_exceptions() - return retval - - def run_test( - self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] - ) -> None: - try: - self.get_loop().run_until_complete( - self._call_in_runner_task(test_func, **kwargs) - ) - except Exception as exc: - self._exceptions.append(exc) - - self._raise_async_exceptions() - - -class AsyncIOBackend(AsyncBackend): - @classmethod - def run( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - options: dict[str, Any], - ) -> T_Retval: - @wraps(func) - async def wrapper() -> T_Retval: - task = cast(asyncio.Task, current_task()) - task.set_name(get_callable_name(func)) - _task_states[task] = TaskState(None, None) - - try: - return await func(*args) - finally: - del _task_states[task] - - debug = options.get("debug", False) - loop_factory = options.get("loop_factory", None) - if loop_factory is None and options.get("use_uvloop", False): - import uvloop - - loop_factory = uvloop.new_event_loop - - with Runner(debug=debug, loop_factory=loop_factory) as runner: - return runner.run(wrapper()) - - @classmethod - def current_token(cls) -> object: - return get_running_loop() - - @classmethod - def current_time(cls) -> float: - return get_running_loop().time() - - @classmethod - def cancelled_exception_class(cls) -> type[BaseException]: - return CancelledError - - @classmethod - async def checkpoint(cls) -> None: - await sleep(0) - - @classmethod - async def checkpoint_if_cancelled(cls) -> None: - task = current_task() - if task is None: - return - - try: - cancel_scope = _task_states[task].cancel_scope - except KeyError: - return - - while cancel_scope: - if cancel_scope.cancel_called: - await sleep(0) - elif cancel_scope.shield: - break - else: - cancel_scope = cancel_scope._parent_scope - - @classmethod - async def cancel_shielded_checkpoint(cls) -> None: - with CancelScope(shield=True): - await sleep(0) - - @classmethod - async def sleep(cls, delay: float) -> None: - await sleep(delay) - - @classmethod - def create_cancel_scope( - cls, *, deadline: float = math.inf, shield: bool = False - ) -> CancelScope: - return CancelScope(deadline=deadline, shield=shield) - - @classmethod - def current_effective_deadline(cls) -> float: - try: - cancel_scope = _task_states[ - current_task() # type: ignore[index] - ].cancel_scope - except KeyError: - return math.inf - - deadline = math.inf - while cancel_scope: - deadline = min(deadline, cancel_scope.deadline) - if cancel_scope._cancel_called: - deadline = -math.inf - break - elif cancel_scope.shield: - break - else: - cancel_scope = cancel_scope._parent_scope - - return deadline - - @classmethod - def create_task_group(cls) -> abc.TaskGroup: - return TaskGroup() - - @classmethod - def create_event(cls) -> abc.Event: - return Event() - - @classmethod - def create_capacity_limiter(cls, total_tokens: float) -> abc.CapacityLimiter: - return CapacityLimiter(total_tokens) - - @classmethod - async def run_sync_in_worker_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - abandon_on_cancel: bool = False, - limiter: abc.CapacityLimiter | None = None, - ) -> T_Retval: - await cls.checkpoint() - - # If this is the first run in this event loop thread, set up the necessary - # variables - try: - idle_workers = _threadpool_idle_workers.get() - workers = _threadpool_workers.get() - except LookupError: - idle_workers = deque() - workers = set() - _threadpool_idle_workers.set(idle_workers) - _threadpool_workers.set(workers) - - async with limiter or cls.current_default_thread_limiter(): - with CancelScope(shield=not abandon_on_cancel) as scope: - future: asyncio.Future = asyncio.Future() - root_task = find_root_task() - if not idle_workers: - worker = WorkerThread(root_task, workers, idle_workers) - worker.start() - workers.add(worker) - root_task.add_done_callback(worker.stop) - else: - worker = idle_workers.pop() - - # Prune any other workers that have been idle for MAX_IDLE_TIME - # seconds or longer - now = cls.current_time() - while idle_workers: - if ( - now - idle_workers[0].idle_since - < WorkerThread.MAX_IDLE_TIME - ): - break - - expired_worker = idle_workers.popleft() - expired_worker.root_task.remove_done_callback( - expired_worker.stop - ) - expired_worker.stop() - - context = copy_context() - context.run(sniffio.current_async_library_cvar.set, None) - if abandon_on_cancel or scope._parent_scope is None: - worker_scope = scope - else: - worker_scope = scope._parent_scope - - worker.queue.put_nowait((context, func, args, future, worker_scope)) - return await future - - @classmethod - def check_cancelled(cls) -> None: - scope: CancelScope | None = threadlocals.current_cancel_scope - while scope is not None: - if scope.cancel_called: - raise CancelledError(f"Cancelled by cancel scope {id(scope):x}") - - if scope.shield: - return - - scope = scope._parent_scope - - @classmethod - def run_async_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - async def task_wrapper(scope: CancelScope) -> T_Retval: - __tracebackhide__ = True - task = cast(asyncio.Task, current_task()) - _task_states[task] = TaskState(None, scope) - scope._tasks.add(task) - try: - return await func(*args) - except CancelledError as exc: - raise concurrent.futures.CancelledError(str(exc)) from None - finally: - scope._tasks.discard(task) - - loop = cast(AbstractEventLoop, token) - context = copy_context() - context.run(sniffio.current_async_library_cvar.set, "asyncio") - wrapper = task_wrapper(threadlocals.current_cancel_scope) - f: concurrent.futures.Future[T_Retval] = context.run( - asyncio.run_coroutine_threadsafe, wrapper, loop - ) - return f.result() - - @classmethod - def run_sync_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - @wraps(func) - def wrapper() -> None: - try: - sniffio.current_async_library_cvar.set("asyncio") - f.set_result(func(*args)) - except BaseException as exc: - f.set_exception(exc) - if not isinstance(exc, Exception): - raise - - f: concurrent.futures.Future[T_Retval] = Future() - loop = cast(AbstractEventLoop, token) - loop.call_soon_threadsafe(wrapper) - return f.result() - - @classmethod - def create_blocking_portal(cls) -> abc.BlockingPortal: - return BlockingPortal() - - @classmethod - async def open_process( - cls, - command: str | bytes | Sequence[str | bytes], - *, - shell: bool, - stdin: int | IO[Any] | None, - stdout: int | IO[Any] | None, - stderr: int | IO[Any] | None, - cwd: str | bytes | PathLike | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, - ) -> Process: - await cls.checkpoint() - if shell: - process = await asyncio.create_subprocess_shell( - cast("str | bytes", command), - stdin=stdin, - stdout=stdout, - stderr=stderr, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) - else: - process = await asyncio.create_subprocess_exec( - *command, - stdin=stdin, - stdout=stdout, - stderr=stderr, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) - - stdin_stream = StreamWriterWrapper(process.stdin) if process.stdin else None - stdout_stream = StreamReaderWrapper(process.stdout) if process.stdout else None - stderr_stream = StreamReaderWrapper(process.stderr) if process.stderr else None - return Process(process, stdin_stream, stdout_stream, stderr_stream) - - @classmethod - def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: - create_task( - _shutdown_process_pool_on_exit(workers), - name="AnyIO process pool shutdown task", - ) - find_root_task().add_done_callback( - partial(_forcibly_shutdown_process_pool_on_exit, workers) - ) - - @classmethod - async def connect_tcp( - cls, host: str, port: int, local_address: IPSockAddrType | None = None - ) -> abc.SocketStream: - transport, protocol = cast( - Tuple[asyncio.Transport, StreamProtocol], - await get_running_loop().create_connection( - StreamProtocol, host, port, local_addr=local_address - ), - ) - transport.pause_reading() - return SocketStream(transport, protocol) - - @classmethod - async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: - await cls.checkpoint() - loop = get_running_loop() - raw_socket = socket.socket(socket.AF_UNIX) - raw_socket.setblocking(False) - while True: - try: - raw_socket.connect(path) - except BlockingIOError: - f: asyncio.Future = asyncio.Future() - loop.add_writer(raw_socket, f.set_result, None) - f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) - await f - except BaseException: - raw_socket.close() - raise - else: - return UNIXSocketStream(raw_socket) - - @classmethod - def create_tcp_listener(cls, sock: socket.socket) -> SocketListener: - return TCPSocketListener(sock) - - @classmethod - def create_unix_listener(cls, sock: socket.socket) -> SocketListener: - return UNIXSocketListener(sock) - - @classmethod - async def create_udp_socket( - cls, - family: AddressFamily, - local_address: IPSockAddrType | None, - remote_address: IPSockAddrType | None, - reuse_port: bool, - ) -> UDPSocket | ConnectedUDPSocket: - transport, protocol = await get_running_loop().create_datagram_endpoint( - DatagramProtocol, - local_addr=local_address, - remote_addr=remote_address, - family=family, - reuse_port=reuse_port, - ) - if protocol.exception: - transport.close() - raise protocol.exception - - if not remote_address: - return UDPSocket(transport, protocol) - else: - return ConnectedUDPSocket(transport, protocol) - - @classmethod - async def create_unix_datagram_socket( # type: ignore[override] - cls, raw_socket: socket.socket, remote_path: str | bytes | None - ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: - await cls.checkpoint() - loop = get_running_loop() - - if remote_path: - while True: - try: - raw_socket.connect(remote_path) - except BlockingIOError: - f: asyncio.Future = asyncio.Future() - loop.add_writer(raw_socket, f.set_result, None) - f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) - await f - except BaseException: - raw_socket.close() - raise - else: - return ConnectedUNIXDatagramSocket(raw_socket) - else: - return UNIXDatagramSocket(raw_socket) - - @classmethod - async def getaddrinfo( - cls, - host: bytes | str | None, - port: str | int | None, - *, - family: int | AddressFamily = 0, - type: int | SocketKind = 0, - proto: int = 0, - flags: int = 0, - ) -> list[ - tuple[ - AddressFamily, - SocketKind, - int, - str, - tuple[str, int] | tuple[str, int, int, int], - ] - ]: - return await get_running_loop().getaddrinfo( - host, port, family=family, type=type, proto=proto, flags=flags - ) - - @classmethod - async def getnameinfo( - cls, sockaddr: IPSockAddrType, flags: int = 0 - ) -> tuple[str, str]: - return await get_running_loop().getnameinfo(sockaddr, flags) - - @classmethod - async def wait_socket_readable(cls, sock: socket.socket) -> None: - await cls.checkpoint() - try: - read_events = _read_events.get() - except LookupError: - read_events = {} - _read_events.set(read_events) - - if read_events.get(sock): - raise BusyResourceError("reading from") from None - - loop = get_running_loop() - event = read_events[sock] = asyncio.Event() - loop.add_reader(sock, event.set) - try: - await event.wait() - finally: - if read_events.pop(sock, None) is not None: - loop.remove_reader(sock) - readable = True - else: - readable = False - - if not readable: - raise ClosedResourceError - - @classmethod - async def wait_socket_writable(cls, sock: socket.socket) -> None: - await cls.checkpoint() - try: - write_events = _write_events.get() - except LookupError: - write_events = {} - _write_events.set(write_events) - - if write_events.get(sock): - raise BusyResourceError("writing to") from None - - loop = get_running_loop() - event = write_events[sock] = asyncio.Event() - loop.add_writer(sock.fileno(), event.set) - try: - await event.wait() - finally: - if write_events.pop(sock, None) is not None: - loop.remove_writer(sock) - writable = True - else: - writable = False - - if not writable: - raise ClosedResourceError - - @classmethod - def current_default_thread_limiter(cls) -> CapacityLimiter: - try: - return _default_thread_limiter.get() - except LookupError: - limiter = CapacityLimiter(40) - _default_thread_limiter.set(limiter) - return limiter - - @classmethod - def open_signal_receiver( - cls, *signals: Signals - ) -> ContextManager[AsyncIterator[Signals]]: - return _SignalReceiver(signals) - - @classmethod - def get_current_task(cls) -> TaskInfo: - return _create_task_info(current_task()) # type: ignore[arg-type] - - @classmethod - def get_running_tasks(cls) -> list[TaskInfo]: - return [_create_task_info(task) for task in all_tasks() if not task.done()] - - @classmethod - async def wait_all_tasks_blocked(cls) -> None: - await cls.checkpoint() - this_task = current_task() - while True: - for task in all_tasks(): - if task is this_task: - continue - - waiter = task._fut_waiter # type: ignore[attr-defined] - if waiter is None or waiter.done(): - await sleep(0.1) - break - else: - return - - @classmethod - def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: - return TestRunner(**options) - - -backend_class = AsyncIOBackend diff --git a/venv/lib/python3.11/site-packages/anyio/_backends/_trio.py b/venv/lib/python3.11/site-packages/anyio/_backends/_trio.py deleted file mode 100644 index 1a47192..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_backends/_trio.py +++ /dev/null @@ -1,1169 +0,0 @@ -from __future__ import annotations - -import array -import math -import socket -import sys -import types -from collections.abc import AsyncIterator, Iterable -from concurrent.futures import Future -from dataclasses import dataclass -from functools import partial -from io import IOBase -from os import PathLike -from signal import Signals -from socket import AddressFamily, SocketKind -from types import TracebackType -from typing import ( - IO, - Any, - AsyncGenerator, - Awaitable, - Callable, - Collection, - ContextManager, - Coroutine, - Generic, - Mapping, - NoReturn, - Sequence, - TypeVar, - cast, - overload, -) - -import trio.from_thread -import trio.lowlevel -from outcome import Error, Outcome, Value -from trio.lowlevel import ( - current_root_task, - current_task, - wait_readable, - wait_writable, -) -from trio.socket import SocketType as TrioSocketType -from trio.to_thread import run_sync - -from .. import CapacityLimiterStatistics, EventStatistics, TaskInfo, abc -from .._core._eventloop import claim_worker_thread -from .._core._exceptions import ( - BrokenResourceError, - BusyResourceError, - ClosedResourceError, - EndOfStream, -) -from .._core._sockets import convert_ipv6_sockaddr -from .._core._streams import create_memory_object_stream -from .._core._synchronization import CapacityLimiter as BaseCapacityLimiter -from .._core._synchronization import Event as BaseEvent -from .._core._synchronization import ResourceGuard -from .._core._tasks import CancelScope as BaseCancelScope -from ..abc import IPSockAddrType, UDPPacketType, UNIXDatagramPacketType -from ..abc._eventloop import AsyncBackend -from ..streams.memory import MemoryObjectSendStream - -if sys.version_info >= (3, 10): - from typing import ParamSpec -else: - from typing_extensions import ParamSpec - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from exceptiongroup import BaseExceptionGroup - from typing_extensions import TypeVarTuple, Unpack - -T = TypeVar("T") -T_Retval = TypeVar("T_Retval") -T_SockAddr = TypeVar("T_SockAddr", str, IPSockAddrType) -PosArgsT = TypeVarTuple("PosArgsT") -P = ParamSpec("P") - - -# -# Event loop -# - -RunVar = trio.lowlevel.RunVar - - -# -# Timeouts and cancellation -# - - -class CancelScope(BaseCancelScope): - def __new__( - cls, original: trio.CancelScope | None = None, **kwargs: object - ) -> CancelScope: - return object.__new__(cls) - - def __init__(self, original: trio.CancelScope | None = None, **kwargs: Any) -> None: - self.__original = original or trio.CancelScope(**kwargs) - - def __enter__(self) -> CancelScope: - self.__original.__enter__() - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - # https://github.com/python-trio/trio-typing/pull/79 - return self.__original.__exit__(exc_type, exc_val, exc_tb) - - def cancel(self) -> None: - self.__original.cancel() - - @property - def deadline(self) -> float: - return self.__original.deadline - - @deadline.setter - def deadline(self, value: float) -> None: - self.__original.deadline = value - - @property - def cancel_called(self) -> bool: - return self.__original.cancel_called - - @property - def cancelled_caught(self) -> bool: - return self.__original.cancelled_caught - - @property - def shield(self) -> bool: - return self.__original.shield - - @shield.setter - def shield(self, value: bool) -> None: - self.__original.shield = value - - -# -# Task groups -# - - -class TaskGroup(abc.TaskGroup): - def __init__(self) -> None: - self._active = False - self._nursery_manager = trio.open_nursery(strict_exception_groups=True) - self.cancel_scope = None # type: ignore[assignment] - - async def __aenter__(self) -> TaskGroup: - self._active = True - self._nursery = await self._nursery_manager.__aenter__() - self.cancel_scope = CancelScope(self._nursery.cancel_scope) - return self - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - try: - return await self._nursery_manager.__aexit__(exc_type, exc_val, exc_tb) - except BaseExceptionGroup as exc: - _, rest = exc.split(trio.Cancelled) - if not rest: - cancelled_exc = trio.Cancelled._create() - raise cancelled_exc from exc - - raise - finally: - self._active = False - - def start_soon( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], - *args: Unpack[PosArgsT], - name: object = None, - ) -> None: - if not self._active: - raise RuntimeError( - "This task group is not active; no new tasks can be started." - ) - - self._nursery.start_soon(func, *args, name=name) - - async def start( - self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None - ) -> Any: - if not self._active: - raise RuntimeError( - "This task group is not active; no new tasks can be started." - ) - - return await self._nursery.start(func, *args, name=name) - - -# -# Threads -# - - -class BlockingPortal(abc.BlockingPortal): - def __new__(cls) -> BlockingPortal: - return object.__new__(cls) - - def __init__(self) -> None: - super().__init__() - self._token = trio.lowlevel.current_trio_token() - - def _spawn_task_from_thread( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - name: object, - future: Future[T_Retval], - ) -> None: - trio.from_thread.run_sync( - partial(self._task_group.start_soon, name=name), - self._call_func, - func, - args, - kwargs, - future, - trio_token=self._token, - ) - - -# -# Subprocesses -# - - -@dataclass(eq=False) -class ReceiveStreamWrapper(abc.ByteReceiveStream): - _stream: trio.abc.ReceiveStream - - async def receive(self, max_bytes: int | None = None) -> bytes: - try: - data = await self._stream.receive_some(max_bytes) - except trio.ClosedResourceError as exc: - raise ClosedResourceError from exc.__cause__ - except trio.BrokenResourceError as exc: - raise BrokenResourceError from exc.__cause__ - - if data: - return data - else: - raise EndOfStream - - async def aclose(self) -> None: - await self._stream.aclose() - - -@dataclass(eq=False) -class SendStreamWrapper(abc.ByteSendStream): - _stream: trio.abc.SendStream - - async def send(self, item: bytes) -> None: - try: - await self._stream.send_all(item) - except trio.ClosedResourceError as exc: - raise ClosedResourceError from exc.__cause__ - except trio.BrokenResourceError as exc: - raise BrokenResourceError from exc.__cause__ - - async def aclose(self) -> None: - await self._stream.aclose() - - -@dataclass(eq=False) -class Process(abc.Process): - _process: trio.Process - _stdin: abc.ByteSendStream | None - _stdout: abc.ByteReceiveStream | None - _stderr: abc.ByteReceiveStream | None - - async def aclose(self) -> None: - with CancelScope(shield=True): - if self._stdin: - await self._stdin.aclose() - if self._stdout: - await self._stdout.aclose() - if self._stderr: - await self._stderr.aclose() - - try: - await self.wait() - except BaseException: - self.kill() - with CancelScope(shield=True): - await self.wait() - raise - - async def wait(self) -> int: - return await self._process.wait() - - def terminate(self) -> None: - self._process.terminate() - - def kill(self) -> None: - self._process.kill() - - def send_signal(self, signal: Signals) -> None: - self._process.send_signal(signal) - - @property - def pid(self) -> int: - return self._process.pid - - @property - def returncode(self) -> int | None: - return self._process.returncode - - @property - def stdin(self) -> abc.ByteSendStream | None: - return self._stdin - - @property - def stdout(self) -> abc.ByteReceiveStream | None: - return self._stdout - - @property - def stderr(self) -> abc.ByteReceiveStream | None: - return self._stderr - - -class _ProcessPoolShutdownInstrument(trio.abc.Instrument): - def after_run(self) -> None: - super().after_run() - - -current_default_worker_process_limiter: trio.lowlevel.RunVar = RunVar( - "current_default_worker_process_limiter" -) - - -async def _shutdown_process_pool(workers: set[abc.Process]) -> None: - try: - await trio.sleep(math.inf) - except trio.Cancelled: - for process in workers: - if process.returncode is None: - process.kill() - - with CancelScope(shield=True): - for process in workers: - await process.aclose() - - -# -# Sockets and networking -# - - -class _TrioSocketMixin(Generic[T_SockAddr]): - def __init__(self, trio_socket: TrioSocketType) -> None: - self._trio_socket = trio_socket - self._closed = False - - def _check_closed(self) -> None: - if self._closed: - raise ClosedResourceError - if self._trio_socket.fileno() < 0: - raise BrokenResourceError - - @property - def _raw_socket(self) -> socket.socket: - return self._trio_socket._sock # type: ignore[attr-defined] - - async def aclose(self) -> None: - if self._trio_socket.fileno() >= 0: - self._closed = True - self._trio_socket.close() - - def _convert_socket_error(self, exc: BaseException) -> NoReturn: - if isinstance(exc, trio.ClosedResourceError): - raise ClosedResourceError from exc - elif self._trio_socket.fileno() < 0 and self._closed: - raise ClosedResourceError from None - elif isinstance(exc, OSError): - raise BrokenResourceError from exc - else: - raise exc - - -class SocketStream(_TrioSocketMixin, abc.SocketStream): - def __init__(self, trio_socket: TrioSocketType) -> None: - super().__init__(trio_socket) - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - async def receive(self, max_bytes: int = 65536) -> bytes: - with self._receive_guard: - try: - data = await self._trio_socket.recv(max_bytes) - except BaseException as exc: - self._convert_socket_error(exc) - - if data: - return data - else: - raise EndOfStream - - async def send(self, item: bytes) -> None: - with self._send_guard: - view = memoryview(item) - while view: - try: - bytes_sent = await self._trio_socket.send(view) - except BaseException as exc: - self._convert_socket_error(exc) - - view = view[bytes_sent:] - - async def send_eof(self) -> None: - self._trio_socket.shutdown(socket.SHUT_WR) - - -class UNIXSocketStream(SocketStream, abc.UNIXSocketStream): - async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: - if not isinstance(msglen, int) or msglen < 0: - raise ValueError("msglen must be a non-negative integer") - if not isinstance(maxfds, int) or maxfds < 1: - raise ValueError("maxfds must be a positive integer") - - fds = array.array("i") - await trio.lowlevel.checkpoint() - with self._receive_guard: - while True: - try: - message, ancdata, flags, addr = await self._trio_socket.recvmsg( - msglen, socket.CMSG_LEN(maxfds * fds.itemsize) - ) - except BaseException as exc: - self._convert_socket_error(exc) - else: - if not message and not ancdata: - raise EndOfStream - - break - - for cmsg_level, cmsg_type, cmsg_data in ancdata: - if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: - raise RuntimeError( - f"Received unexpected ancillary data; message = {message!r}, " - f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" - ) - - fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) - - return message, list(fds) - - async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: - if not message: - raise ValueError("message must not be empty") - if not fds: - raise ValueError("fds must not be empty") - - filenos: list[int] = [] - for fd in fds: - if isinstance(fd, int): - filenos.append(fd) - elif isinstance(fd, IOBase): - filenos.append(fd.fileno()) - - fdarray = array.array("i", filenos) - await trio.lowlevel.checkpoint() - with self._send_guard: - while True: - try: - await self._trio_socket.sendmsg( - [message], - [ - ( - socket.SOL_SOCKET, - socket.SCM_RIGHTS, - fdarray, - ) - ], - ) - break - except BaseException as exc: - self._convert_socket_error(exc) - - -class TCPSocketListener(_TrioSocketMixin, abc.SocketListener): - def __init__(self, raw_socket: socket.socket): - super().__init__(trio.socket.from_stdlib_socket(raw_socket)) - self._accept_guard = ResourceGuard("accepting connections from") - - async def accept(self) -> SocketStream: - with self._accept_guard: - try: - trio_socket, _addr = await self._trio_socket.accept() - except BaseException as exc: - self._convert_socket_error(exc) - - trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - return SocketStream(trio_socket) - - -class UNIXSocketListener(_TrioSocketMixin, abc.SocketListener): - def __init__(self, raw_socket: socket.socket): - super().__init__(trio.socket.from_stdlib_socket(raw_socket)) - self._accept_guard = ResourceGuard("accepting connections from") - - async def accept(self) -> UNIXSocketStream: - with self._accept_guard: - try: - trio_socket, _addr = await self._trio_socket.accept() - except BaseException as exc: - self._convert_socket_error(exc) - - return UNIXSocketStream(trio_socket) - - -class UDPSocket(_TrioSocketMixin[IPSockAddrType], abc.UDPSocket): - def __init__(self, trio_socket: TrioSocketType) -> None: - super().__init__(trio_socket) - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - async def receive(self) -> tuple[bytes, IPSockAddrType]: - with self._receive_guard: - try: - data, addr = await self._trio_socket.recvfrom(65536) - return data, convert_ipv6_sockaddr(addr) - except BaseException as exc: - self._convert_socket_error(exc) - - async def send(self, item: UDPPacketType) -> None: - with self._send_guard: - try: - await self._trio_socket.sendto(*item) - except BaseException as exc: - self._convert_socket_error(exc) - - -class ConnectedUDPSocket(_TrioSocketMixin[IPSockAddrType], abc.ConnectedUDPSocket): - def __init__(self, trio_socket: TrioSocketType) -> None: - super().__init__(trio_socket) - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - async def receive(self) -> bytes: - with self._receive_guard: - try: - return await self._trio_socket.recv(65536) - except BaseException as exc: - self._convert_socket_error(exc) - - async def send(self, item: bytes) -> None: - with self._send_guard: - try: - await self._trio_socket.send(item) - except BaseException as exc: - self._convert_socket_error(exc) - - -class UNIXDatagramSocket(_TrioSocketMixin[str], abc.UNIXDatagramSocket): - def __init__(self, trio_socket: TrioSocketType) -> None: - super().__init__(trio_socket) - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - async def receive(self) -> UNIXDatagramPacketType: - with self._receive_guard: - try: - data, addr = await self._trio_socket.recvfrom(65536) - return data, addr - except BaseException as exc: - self._convert_socket_error(exc) - - async def send(self, item: UNIXDatagramPacketType) -> None: - with self._send_guard: - try: - await self._trio_socket.sendto(*item) - except BaseException as exc: - self._convert_socket_error(exc) - - -class ConnectedUNIXDatagramSocket( - _TrioSocketMixin[str], abc.ConnectedUNIXDatagramSocket -): - def __init__(self, trio_socket: TrioSocketType) -> None: - super().__init__(trio_socket) - self._receive_guard = ResourceGuard("reading from") - self._send_guard = ResourceGuard("writing to") - - async def receive(self) -> bytes: - with self._receive_guard: - try: - return await self._trio_socket.recv(65536) - except BaseException as exc: - self._convert_socket_error(exc) - - async def send(self, item: bytes) -> None: - with self._send_guard: - try: - await self._trio_socket.send(item) - except BaseException as exc: - self._convert_socket_error(exc) - - -# -# Synchronization -# - - -class Event(BaseEvent): - def __new__(cls) -> Event: - return object.__new__(cls) - - def __init__(self) -> None: - self.__original = trio.Event() - - def is_set(self) -> bool: - return self.__original.is_set() - - async def wait(self) -> None: - return await self.__original.wait() - - def statistics(self) -> EventStatistics: - orig_statistics = self.__original.statistics() - return EventStatistics(tasks_waiting=orig_statistics.tasks_waiting) - - def set(self) -> None: - self.__original.set() - - -class CapacityLimiter(BaseCapacityLimiter): - def __new__( - cls, - total_tokens: float | None = None, - *, - original: trio.CapacityLimiter | None = None, - ) -> CapacityLimiter: - return object.__new__(cls) - - def __init__( - self, - total_tokens: float | None = None, - *, - original: trio.CapacityLimiter | None = None, - ) -> None: - if original is not None: - self.__original = original - else: - assert total_tokens is not None - self.__original = trio.CapacityLimiter(total_tokens) - - async def __aenter__(self) -> None: - return await self.__original.__aenter__() - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - await self.__original.__aexit__(exc_type, exc_val, exc_tb) - - @property - def total_tokens(self) -> float: - return self.__original.total_tokens - - @total_tokens.setter - def total_tokens(self, value: float) -> None: - self.__original.total_tokens = value - - @property - def borrowed_tokens(self) -> int: - return self.__original.borrowed_tokens - - @property - def available_tokens(self) -> float: - return self.__original.available_tokens - - def acquire_nowait(self) -> None: - self.__original.acquire_nowait() - - def acquire_on_behalf_of_nowait(self, borrower: object) -> None: - self.__original.acquire_on_behalf_of_nowait(borrower) - - async def acquire(self) -> None: - await self.__original.acquire() - - async def acquire_on_behalf_of(self, borrower: object) -> None: - await self.__original.acquire_on_behalf_of(borrower) - - def release(self) -> None: - return self.__original.release() - - def release_on_behalf_of(self, borrower: object) -> None: - return self.__original.release_on_behalf_of(borrower) - - def statistics(self) -> CapacityLimiterStatistics: - orig = self.__original.statistics() - return CapacityLimiterStatistics( - borrowed_tokens=orig.borrowed_tokens, - total_tokens=orig.total_tokens, - borrowers=tuple(orig.borrowers), - tasks_waiting=orig.tasks_waiting, - ) - - -_capacity_limiter_wrapper: trio.lowlevel.RunVar = RunVar("_capacity_limiter_wrapper") - - -# -# Signal handling -# - - -class _SignalReceiver: - _iterator: AsyncIterator[int] - - def __init__(self, signals: tuple[Signals, ...]): - self._signals = signals - - def __enter__(self) -> _SignalReceiver: - self._cm = trio.open_signal_receiver(*self._signals) - self._iterator = self._cm.__enter__() - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - return self._cm.__exit__(exc_type, exc_val, exc_tb) - - def __aiter__(self) -> _SignalReceiver: - return self - - async def __anext__(self) -> Signals: - signum = await self._iterator.__anext__() - return Signals(signum) - - -# -# Testing and debugging -# - - -class TestRunner(abc.TestRunner): - def __init__(self, **options: Any) -> None: - from queue import Queue - - self._call_queue: Queue[Callable[[], object]] = Queue() - self._send_stream: MemoryObjectSendStream | None = None - self._options = options - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: types.TracebackType | None, - ) -> None: - if self._send_stream: - self._send_stream.close() - while self._send_stream is not None: - self._call_queue.get()() - - async def _run_tests_and_fixtures(self) -> None: - self._send_stream, receive_stream = create_memory_object_stream(1) - with receive_stream: - async for coro, outcome_holder in receive_stream: - try: - retval = await coro - except BaseException as exc: - outcome_holder.append(Error(exc)) - else: - outcome_holder.append(Value(retval)) - - def _main_task_finished(self, outcome: object) -> None: - self._send_stream = None - - def _call_in_runner_task( - self, - func: Callable[P, Awaitable[T_Retval]], - *args: P.args, - **kwargs: P.kwargs, - ) -> T_Retval: - if self._send_stream is None: - trio.lowlevel.start_guest_run( - self._run_tests_and_fixtures, - run_sync_soon_threadsafe=self._call_queue.put, - done_callback=self._main_task_finished, - **self._options, - ) - while self._send_stream is None: - self._call_queue.get()() - - outcome_holder: list[Outcome] = [] - self._send_stream.send_nowait((func(*args, **kwargs), outcome_holder)) - while not outcome_holder: - self._call_queue.get()() - - return outcome_holder[0].unwrap() - - def run_asyncgen_fixture( - self, - fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], - kwargs: dict[str, Any], - ) -> Iterable[T_Retval]: - asyncgen = fixture_func(**kwargs) - fixturevalue: T_Retval = self._call_in_runner_task(asyncgen.asend, None) - - yield fixturevalue - - try: - self._call_in_runner_task(asyncgen.asend, None) - except StopAsyncIteration: - pass - else: - self._call_in_runner_task(asyncgen.aclose) - raise RuntimeError("Async generator fixture did not stop") - - def run_fixture( - self, - fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], - kwargs: dict[str, Any], - ) -> T_Retval: - return self._call_in_runner_task(fixture_func, **kwargs) - - def run_test( - self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] - ) -> None: - self._call_in_runner_task(test_func, **kwargs) - - -class TrioBackend(AsyncBackend): - @classmethod - def run( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - options: dict[str, Any], - ) -> T_Retval: - return trio.run(func, *args) - - @classmethod - def current_token(cls) -> object: - return trio.lowlevel.current_trio_token() - - @classmethod - def current_time(cls) -> float: - return trio.current_time() - - @classmethod - def cancelled_exception_class(cls) -> type[BaseException]: - return trio.Cancelled - - @classmethod - async def checkpoint(cls) -> None: - await trio.lowlevel.checkpoint() - - @classmethod - async def checkpoint_if_cancelled(cls) -> None: - await trio.lowlevel.checkpoint_if_cancelled() - - @classmethod - async def cancel_shielded_checkpoint(cls) -> None: - await trio.lowlevel.cancel_shielded_checkpoint() - - @classmethod - async def sleep(cls, delay: float) -> None: - await trio.sleep(delay) - - @classmethod - def create_cancel_scope( - cls, *, deadline: float = math.inf, shield: bool = False - ) -> abc.CancelScope: - return CancelScope(deadline=deadline, shield=shield) - - @classmethod - def current_effective_deadline(cls) -> float: - return trio.current_effective_deadline() - - @classmethod - def create_task_group(cls) -> abc.TaskGroup: - return TaskGroup() - - @classmethod - def create_event(cls) -> abc.Event: - return Event() - - @classmethod - def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: - return CapacityLimiter(total_tokens) - - @classmethod - async def run_sync_in_worker_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - abandon_on_cancel: bool = False, - limiter: abc.CapacityLimiter | None = None, - ) -> T_Retval: - def wrapper() -> T_Retval: - with claim_worker_thread(TrioBackend, token): - return func(*args) - - token = TrioBackend.current_token() - return await run_sync( - wrapper, - abandon_on_cancel=abandon_on_cancel, - limiter=cast(trio.CapacityLimiter, limiter), - ) - - @classmethod - def check_cancelled(cls) -> None: - trio.from_thread.check_cancelled() - - @classmethod - def run_async_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - return trio.from_thread.run(func, *args) - - @classmethod - def run_sync_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - return trio.from_thread.run_sync(func, *args) - - @classmethod - def create_blocking_portal(cls) -> abc.BlockingPortal: - return BlockingPortal() - - @classmethod - async def open_process( - cls, - command: str | bytes | Sequence[str | bytes], - *, - shell: bool, - stdin: int | IO[Any] | None, - stdout: int | IO[Any] | None, - stderr: int | IO[Any] | None, - cwd: str | bytes | PathLike | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, - ) -> Process: - process = await trio.lowlevel.open_process( # type: ignore[misc] - command, # type: ignore[arg-type] - stdin=stdin, - stdout=stdout, - stderr=stderr, - shell=shell, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) - stdin_stream = SendStreamWrapper(process.stdin) if process.stdin else None - stdout_stream = ReceiveStreamWrapper(process.stdout) if process.stdout else None - stderr_stream = ReceiveStreamWrapper(process.stderr) if process.stderr else None - return Process(process, stdin_stream, stdout_stream, stderr_stream) - - @classmethod - def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: - trio.lowlevel.spawn_system_task(_shutdown_process_pool, workers) - - @classmethod - async def connect_tcp( - cls, host: str, port: int, local_address: IPSockAddrType | None = None - ) -> SocketStream: - family = socket.AF_INET6 if ":" in host else socket.AF_INET - trio_socket = trio.socket.socket(family) - trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - if local_address: - await trio_socket.bind(local_address) - - try: - await trio_socket.connect((host, port)) - except BaseException: - trio_socket.close() - raise - - return SocketStream(trio_socket) - - @classmethod - async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: - trio_socket = trio.socket.socket(socket.AF_UNIX) - try: - await trio_socket.connect(path) - except BaseException: - trio_socket.close() - raise - - return UNIXSocketStream(trio_socket) - - @classmethod - def create_tcp_listener(cls, sock: socket.socket) -> abc.SocketListener: - return TCPSocketListener(sock) - - @classmethod - def create_unix_listener(cls, sock: socket.socket) -> abc.SocketListener: - return UNIXSocketListener(sock) - - @classmethod - async def create_udp_socket( - cls, - family: socket.AddressFamily, - local_address: IPSockAddrType | None, - remote_address: IPSockAddrType | None, - reuse_port: bool, - ) -> UDPSocket | ConnectedUDPSocket: - trio_socket = trio.socket.socket(family=family, type=socket.SOCK_DGRAM) - - if reuse_port: - trio_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) - - if local_address: - await trio_socket.bind(local_address) - - if remote_address: - await trio_socket.connect(remote_address) - return ConnectedUDPSocket(trio_socket) - else: - return UDPSocket(trio_socket) - - @classmethod - @overload - async def create_unix_datagram_socket( - cls, raw_socket: socket.socket, remote_path: None - ) -> abc.UNIXDatagramSocket: - ... - - @classmethod - @overload - async def create_unix_datagram_socket( - cls, raw_socket: socket.socket, remote_path: str | bytes - ) -> abc.ConnectedUNIXDatagramSocket: - ... - - @classmethod - async def create_unix_datagram_socket( - cls, raw_socket: socket.socket, remote_path: str | bytes | None - ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: - trio_socket = trio.socket.from_stdlib_socket(raw_socket) - - if remote_path: - await trio_socket.connect(remote_path) - return ConnectedUNIXDatagramSocket(trio_socket) - else: - return UNIXDatagramSocket(trio_socket) - - @classmethod - async def getaddrinfo( - cls, - host: bytes | str | None, - port: str | int | None, - *, - family: int | AddressFamily = 0, - type: int | SocketKind = 0, - proto: int = 0, - flags: int = 0, - ) -> list[ - tuple[ - AddressFamily, - SocketKind, - int, - str, - tuple[str, int] | tuple[str, int, int, int], - ] - ]: - return await trio.socket.getaddrinfo(host, port, family, type, proto, flags) - - @classmethod - async def getnameinfo( - cls, sockaddr: IPSockAddrType, flags: int = 0 - ) -> tuple[str, str]: - return await trio.socket.getnameinfo(sockaddr, flags) - - @classmethod - async def wait_socket_readable(cls, sock: socket.socket) -> None: - try: - await wait_readable(sock) - except trio.ClosedResourceError as exc: - raise ClosedResourceError().with_traceback(exc.__traceback__) from None - except trio.BusyResourceError: - raise BusyResourceError("reading from") from None - - @classmethod - async def wait_socket_writable(cls, sock: socket.socket) -> None: - try: - await wait_writable(sock) - except trio.ClosedResourceError as exc: - raise ClosedResourceError().with_traceback(exc.__traceback__) from None - except trio.BusyResourceError: - raise BusyResourceError("writing to") from None - - @classmethod - def current_default_thread_limiter(cls) -> CapacityLimiter: - try: - return _capacity_limiter_wrapper.get() - except LookupError: - limiter = CapacityLimiter( - original=trio.to_thread.current_default_thread_limiter() - ) - _capacity_limiter_wrapper.set(limiter) - return limiter - - @classmethod - def open_signal_receiver( - cls, *signals: Signals - ) -> ContextManager[AsyncIterator[Signals]]: - return _SignalReceiver(signals) - - @classmethod - def get_current_task(cls) -> TaskInfo: - task = current_task() - - parent_id = None - if task.parent_nursery and task.parent_nursery.parent_task: - parent_id = id(task.parent_nursery.parent_task) - - return TaskInfo(id(task), parent_id, task.name, task.coro) - - @classmethod - def get_running_tasks(cls) -> list[TaskInfo]: - root_task = current_root_task() - assert root_task - task_infos = [TaskInfo(id(root_task), None, root_task.name, root_task.coro)] - nurseries = root_task.child_nurseries - while nurseries: - new_nurseries: list[trio.Nursery] = [] - for nursery in nurseries: - for task in nursery.child_tasks: - task_infos.append( - TaskInfo( - id(task), id(nursery.parent_task), task.name, task.coro - ) - ) - new_nurseries.extend(task.child_nurseries) - - nurseries = new_nurseries - - return task_infos - - @classmethod - async def wait_all_tasks_blocked(cls) -> None: - from trio.testing import wait_all_tasks_blocked - - await wait_all_tasks_blocked() - - @classmethod - def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: - return TestRunner(**options) - - -backend_class = TrioBackend diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__init__.py b/venv/lib/python3.11/site-packages/anyio/_core/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 174d85c..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_eventloop.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_eventloop.cpython-311.pyc deleted file mode 100644 index 3793487..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_eventloop.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc deleted file mode 100644 index 4ed4ed8..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_exceptions.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc deleted file mode 100644 index b403ec5..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_fileio.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc deleted file mode 100644 index f5170f4..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_resources.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc deleted file mode 100644 index 9c51c0b..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_signals.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc deleted file mode 100644 index 4de85c1..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_sockets.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc deleted file mode 100644 index 53334c7..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_streams.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc deleted file mode 100644 index 6fa1ea5..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc deleted file mode 100644 index 345fe04..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_synchronization.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc deleted file mode 100644 index 0a60553..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_tasks.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_testing.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_testing.cpython-311.pyc deleted file mode 100644 index f53a591..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_testing.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc deleted file mode 100644 index 7ad8529..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/_core/__pycache__/_typedattr.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_eventloop.py b/venv/lib/python3.11/site-packages/anyio/_core/_eventloop.py deleted file mode 100644 index a9c6e82..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_eventloop.py +++ /dev/null @@ -1,163 +0,0 @@ -from __future__ import annotations - -import math -import sys -import threading -from collections.abc import Awaitable, Callable, Generator -from contextlib import contextmanager -from importlib import import_module -from typing import TYPE_CHECKING, Any, TypeVar - -import sniffio - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -if TYPE_CHECKING: - from ..abc import AsyncBackend - -# This must be updated when new backends are introduced -BACKENDS = "asyncio", "trio" - -T_Retval = TypeVar("T_Retval") -PosArgsT = TypeVarTuple("PosArgsT") - -threadlocals = threading.local() - - -def run( - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - *args: Unpack[PosArgsT], - backend: str = "asyncio", - backend_options: dict[str, Any] | None = None, -) -> T_Retval: - """ - Run the given coroutine function in an asynchronous event loop. - - The current thread must not be already running an event loop. - - :param func: a coroutine function - :param args: positional arguments to ``func`` - :param backend: name of the asynchronous event loop implementation – currently - either ``asyncio`` or ``trio`` - :param backend_options: keyword arguments to call the backend ``run()`` - implementation with (documented :ref:`here `) - :return: the return value of the coroutine function - :raises RuntimeError: if an asynchronous event loop is already running in this - thread - :raises LookupError: if the named backend is not found - - """ - try: - asynclib_name = sniffio.current_async_library() - except sniffio.AsyncLibraryNotFoundError: - pass - else: - raise RuntimeError(f"Already running {asynclib_name} in this thread") - - try: - async_backend = get_async_backend(backend) - except ImportError as exc: - raise LookupError(f"No such backend: {backend}") from exc - - token = None - if sniffio.current_async_library_cvar.get(None) is None: - # Since we're in control of the event loop, we can cache the name of the async - # library - token = sniffio.current_async_library_cvar.set(backend) - - try: - backend_options = backend_options or {} - return async_backend.run(func, args, {}, backend_options) - finally: - if token: - sniffio.current_async_library_cvar.reset(token) - - -async def sleep(delay: float) -> None: - """ - Pause the current task for the specified duration. - - :param delay: the duration, in seconds - - """ - return await get_async_backend().sleep(delay) - - -async def sleep_forever() -> None: - """ - Pause the current task until it's cancelled. - - This is a shortcut for ``sleep(math.inf)``. - - .. versionadded:: 3.1 - - """ - await sleep(math.inf) - - -async def sleep_until(deadline: float) -> None: - """ - Pause the current task until the given time. - - :param deadline: the absolute time to wake up at (according to the internal - monotonic clock of the event loop) - - .. versionadded:: 3.1 - - """ - now = current_time() - await sleep(max(deadline - now, 0)) - - -def current_time() -> float: - """ - Return the current value of the event loop's internal clock. - - :return: the clock value (seconds) - - """ - return get_async_backend().current_time() - - -def get_all_backends() -> tuple[str, ...]: - """Return a tuple of the names of all built-in backends.""" - return BACKENDS - - -def get_cancelled_exc_class() -> type[BaseException]: - """Return the current async library's cancellation exception class.""" - return get_async_backend().cancelled_exception_class() - - -# -# Private API -# - - -@contextmanager -def claim_worker_thread( - backend_class: type[AsyncBackend], token: object -) -> Generator[Any, None, None]: - threadlocals.current_async_backend = backend_class - threadlocals.current_token = token - try: - yield - finally: - del threadlocals.current_async_backend - del threadlocals.current_token - - -def get_async_backend(asynclib_name: str | None = None) -> AsyncBackend: - if asynclib_name is None: - asynclib_name = sniffio.current_async_library() - - modulename = "anyio._backends._" + asynclib_name - try: - module = sys.modules[modulename] - except KeyError: - module = import_module(modulename) - - return getattr(module, "backend_class") diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_exceptions.py b/venv/lib/python3.11/site-packages/anyio/_core/_exceptions.py deleted file mode 100644 index 571c3b8..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_exceptions.py +++ /dev/null @@ -1,73 +0,0 @@ -from __future__ import annotations - - -class BrokenResourceError(Exception): - """ - Raised when trying to use a resource that has been rendered unusable due to external - causes (e.g. a send stream whose peer has disconnected). - """ - - -class BrokenWorkerProcess(Exception): - """ - Raised by :func:`run_sync_in_process` if the worker process terminates abruptly or - otherwise misbehaves. - """ - - -class BusyResourceError(Exception): - """ - Raised when two tasks are trying to read from or write to the same resource - concurrently. - """ - - def __init__(self, action: str): - super().__init__(f"Another task is already {action} this resource") - - -class ClosedResourceError(Exception): - """Raised when trying to use a resource that has been closed.""" - - -class DelimiterNotFound(Exception): - """ - Raised during - :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the - maximum number of bytes has been read without the delimiter being found. - """ - - def __init__(self, max_bytes: int) -> None: - super().__init__( - f"The delimiter was not found among the first {max_bytes} bytes" - ) - - -class EndOfStream(Exception): - """ - Raised when trying to read from a stream that has been closed from the other end. - """ - - -class IncompleteRead(Exception): - """ - Raised during - :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_exactly` or - :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the - connection is closed before the requested amount of bytes has been read. - """ - - def __init__(self) -> None: - super().__init__( - "The stream was closed before the read operation could be completed" - ) - - -class TypedAttributeLookupError(LookupError): - """ - Raised by :meth:`~anyio.TypedAttributeProvider.extra` when the given typed attribute - is not found and no default value has been given. - """ - - -class WouldBlock(Exception): - """Raised by ``X_nowait`` functions if ``X()`` would block.""" diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_fileio.py b/venv/lib/python3.11/site-packages/anyio/_core/_fileio.py deleted file mode 100644 index d054be6..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_fileio.py +++ /dev/null @@ -1,645 +0,0 @@ -from __future__ import annotations - -import os -import pathlib -import sys -from collections.abc import Callable, Iterable, Iterator, Sequence -from dataclasses import dataclass -from functools import partial -from os import PathLike -from typing import ( - IO, - TYPE_CHECKING, - Any, - AnyStr, - AsyncIterator, - Final, - Generic, - overload, -) - -from .. import to_thread -from ..abc import AsyncResource - -if TYPE_CHECKING: - from _typeshed import OpenBinaryMode, OpenTextMode, ReadableBuffer, WriteableBuffer -else: - ReadableBuffer = OpenBinaryMode = OpenTextMode = WriteableBuffer = object - - -class AsyncFile(AsyncResource, Generic[AnyStr]): - """ - An asynchronous file object. - - This class wraps a standard file object and provides async friendly versions of the - following blocking methods (where available on the original file object): - - * read - * read1 - * readline - * readlines - * readinto - * readinto1 - * write - * writelines - * truncate - * seek - * tell - * flush - - All other methods are directly passed through. - - This class supports the asynchronous context manager protocol which closes the - underlying file at the end of the context block. - - This class also supports asynchronous iteration:: - - async with await open_file(...) as f: - async for line in f: - print(line) - """ - - def __init__(self, fp: IO[AnyStr]) -> None: - self._fp: Any = fp - - def __getattr__(self, name: str) -> object: - return getattr(self._fp, name) - - @property - def wrapped(self) -> IO[AnyStr]: - """The wrapped file object.""" - return self._fp - - async def __aiter__(self) -> AsyncIterator[AnyStr]: - while True: - line = await self.readline() - if line: - yield line - else: - break - - async def aclose(self) -> None: - return await to_thread.run_sync(self._fp.close) - - async def read(self, size: int = -1) -> AnyStr: - return await to_thread.run_sync(self._fp.read, size) - - async def read1(self: AsyncFile[bytes], size: int = -1) -> bytes: - return await to_thread.run_sync(self._fp.read1, size) - - async def readline(self) -> AnyStr: - return await to_thread.run_sync(self._fp.readline) - - async def readlines(self) -> list[AnyStr]: - return await to_thread.run_sync(self._fp.readlines) - - async def readinto(self: AsyncFile[bytes], b: WriteableBuffer) -> bytes: - return await to_thread.run_sync(self._fp.readinto, b) - - async def readinto1(self: AsyncFile[bytes], b: WriteableBuffer) -> bytes: - return await to_thread.run_sync(self._fp.readinto1, b) - - @overload - async def write(self: AsyncFile[bytes], b: ReadableBuffer) -> int: - ... - - @overload - async def write(self: AsyncFile[str], b: str) -> int: - ... - - async def write(self, b: ReadableBuffer | str) -> int: - return await to_thread.run_sync(self._fp.write, b) - - @overload - async def writelines( - self: AsyncFile[bytes], lines: Iterable[ReadableBuffer] - ) -> None: - ... - - @overload - async def writelines(self: AsyncFile[str], lines: Iterable[str]) -> None: - ... - - async def writelines(self, lines: Iterable[ReadableBuffer] | Iterable[str]) -> None: - return await to_thread.run_sync(self._fp.writelines, lines) - - async def truncate(self, size: int | None = None) -> int: - return await to_thread.run_sync(self._fp.truncate, size) - - async def seek(self, offset: int, whence: int | None = os.SEEK_SET) -> int: - return await to_thread.run_sync(self._fp.seek, offset, whence) - - async def tell(self) -> int: - return await to_thread.run_sync(self._fp.tell) - - async def flush(self) -> None: - return await to_thread.run_sync(self._fp.flush) - - -@overload -async def open_file( - file: str | PathLike[str] | int, - mode: OpenBinaryMode, - buffering: int = ..., - encoding: str | None = ..., - errors: str | None = ..., - newline: str | None = ..., - closefd: bool = ..., - opener: Callable[[str, int], int] | None = ..., -) -> AsyncFile[bytes]: - ... - - -@overload -async def open_file( - file: str | PathLike[str] | int, - mode: OpenTextMode = ..., - buffering: int = ..., - encoding: str | None = ..., - errors: str | None = ..., - newline: str | None = ..., - closefd: bool = ..., - opener: Callable[[str, int], int] | None = ..., -) -> AsyncFile[str]: - ... - - -async def open_file( - file: str | PathLike[str] | int, - mode: str = "r", - buffering: int = -1, - encoding: str | None = None, - errors: str | None = None, - newline: str | None = None, - closefd: bool = True, - opener: Callable[[str, int], int] | None = None, -) -> AsyncFile[Any]: - """ - Open a file asynchronously. - - The arguments are exactly the same as for the builtin :func:`open`. - - :return: an asynchronous file object - - """ - fp = await to_thread.run_sync( - open, file, mode, buffering, encoding, errors, newline, closefd, opener - ) - return AsyncFile(fp) - - -def wrap_file(file: IO[AnyStr]) -> AsyncFile[AnyStr]: - """ - Wrap an existing file as an asynchronous file. - - :param file: an existing file-like object - :return: an asynchronous file object - - """ - return AsyncFile(file) - - -@dataclass(eq=False) -class _PathIterator(AsyncIterator["Path"]): - iterator: Iterator[PathLike[str]] - - async def __anext__(self) -> Path: - nextval = await to_thread.run_sync( - next, self.iterator, None, abandon_on_cancel=True - ) - if nextval is None: - raise StopAsyncIteration from None - - return Path(nextval) - - -class Path: - """ - An asynchronous version of :class:`pathlib.Path`. - - This class cannot be substituted for :class:`pathlib.Path` or - :class:`pathlib.PurePath`, but it is compatible with the :class:`os.PathLike` - interface. - - It implements the Python 3.10 version of :class:`pathlib.Path` interface, except for - the deprecated :meth:`~pathlib.Path.link_to` method. - - Any methods that do disk I/O need to be awaited on. These methods are: - - * :meth:`~pathlib.Path.absolute` - * :meth:`~pathlib.Path.chmod` - * :meth:`~pathlib.Path.cwd` - * :meth:`~pathlib.Path.exists` - * :meth:`~pathlib.Path.expanduser` - * :meth:`~pathlib.Path.group` - * :meth:`~pathlib.Path.hardlink_to` - * :meth:`~pathlib.Path.home` - * :meth:`~pathlib.Path.is_block_device` - * :meth:`~pathlib.Path.is_char_device` - * :meth:`~pathlib.Path.is_dir` - * :meth:`~pathlib.Path.is_fifo` - * :meth:`~pathlib.Path.is_file` - * :meth:`~pathlib.Path.is_mount` - * :meth:`~pathlib.Path.lchmod` - * :meth:`~pathlib.Path.lstat` - * :meth:`~pathlib.Path.mkdir` - * :meth:`~pathlib.Path.open` - * :meth:`~pathlib.Path.owner` - * :meth:`~pathlib.Path.read_bytes` - * :meth:`~pathlib.Path.read_text` - * :meth:`~pathlib.Path.readlink` - * :meth:`~pathlib.Path.rename` - * :meth:`~pathlib.Path.replace` - * :meth:`~pathlib.Path.rmdir` - * :meth:`~pathlib.Path.samefile` - * :meth:`~pathlib.Path.stat` - * :meth:`~pathlib.Path.touch` - * :meth:`~pathlib.Path.unlink` - * :meth:`~pathlib.Path.write_bytes` - * :meth:`~pathlib.Path.write_text` - - Additionally, the following methods return an async iterator yielding - :class:`~.Path` objects: - - * :meth:`~pathlib.Path.glob` - * :meth:`~pathlib.Path.iterdir` - * :meth:`~pathlib.Path.rglob` - """ - - __slots__ = "_path", "__weakref__" - - __weakref__: Any - - def __init__(self, *args: str | PathLike[str]) -> None: - self._path: Final[pathlib.Path] = pathlib.Path(*args) - - def __fspath__(self) -> str: - return self._path.__fspath__() - - def __str__(self) -> str: - return self._path.__str__() - - def __repr__(self) -> str: - return f"{self.__class__.__name__}({self.as_posix()!r})" - - def __bytes__(self) -> bytes: - return self._path.__bytes__() - - def __hash__(self) -> int: - return self._path.__hash__() - - def __eq__(self, other: object) -> bool: - target = other._path if isinstance(other, Path) else other - return self._path.__eq__(target) - - def __lt__(self, other: pathlib.PurePath | Path) -> bool: - target = other._path if isinstance(other, Path) else other - return self._path.__lt__(target) - - def __le__(self, other: pathlib.PurePath | Path) -> bool: - target = other._path if isinstance(other, Path) else other - return self._path.__le__(target) - - def __gt__(self, other: pathlib.PurePath | Path) -> bool: - target = other._path if isinstance(other, Path) else other - return self._path.__gt__(target) - - def __ge__(self, other: pathlib.PurePath | Path) -> bool: - target = other._path if isinstance(other, Path) else other - return self._path.__ge__(target) - - def __truediv__(self, other: str | PathLike[str]) -> Path: - return Path(self._path / other) - - def __rtruediv__(self, other: str | PathLike[str]) -> Path: - return Path(other) / self - - @property - def parts(self) -> tuple[str, ...]: - return self._path.parts - - @property - def drive(self) -> str: - return self._path.drive - - @property - def root(self) -> str: - return self._path.root - - @property - def anchor(self) -> str: - return self._path.anchor - - @property - def parents(self) -> Sequence[Path]: - return tuple(Path(p) for p in self._path.parents) - - @property - def parent(self) -> Path: - return Path(self._path.parent) - - @property - def name(self) -> str: - return self._path.name - - @property - def suffix(self) -> str: - return self._path.suffix - - @property - def suffixes(self) -> list[str]: - return self._path.suffixes - - @property - def stem(self) -> str: - return self._path.stem - - async def absolute(self) -> Path: - path = await to_thread.run_sync(self._path.absolute) - return Path(path) - - def as_posix(self) -> str: - return self._path.as_posix() - - def as_uri(self) -> str: - return self._path.as_uri() - - def match(self, path_pattern: str) -> bool: - return self._path.match(path_pattern) - - def is_relative_to(self, other: str | PathLike[str]) -> bool: - try: - self.relative_to(other) - return True - except ValueError: - return False - - async def is_junction(self) -> bool: - return await to_thread.run_sync(self._path.is_junction) - - async def chmod(self, mode: int, *, follow_symlinks: bool = True) -> None: - func = partial(os.chmod, follow_symlinks=follow_symlinks) - return await to_thread.run_sync(func, self._path, mode) - - @classmethod - async def cwd(cls) -> Path: - path = await to_thread.run_sync(pathlib.Path.cwd) - return cls(path) - - async def exists(self) -> bool: - return await to_thread.run_sync(self._path.exists, abandon_on_cancel=True) - - async def expanduser(self) -> Path: - return Path( - await to_thread.run_sync(self._path.expanduser, abandon_on_cancel=True) - ) - - def glob(self, pattern: str) -> AsyncIterator[Path]: - gen = self._path.glob(pattern) - return _PathIterator(gen) - - async def group(self) -> str: - return await to_thread.run_sync(self._path.group, abandon_on_cancel=True) - - async def hardlink_to( - self, target: str | bytes | PathLike[str] | PathLike[bytes] - ) -> None: - if isinstance(target, Path): - target = target._path - - await to_thread.run_sync(os.link, target, self) - - @classmethod - async def home(cls) -> Path: - home_path = await to_thread.run_sync(pathlib.Path.home) - return cls(home_path) - - def is_absolute(self) -> bool: - return self._path.is_absolute() - - async def is_block_device(self) -> bool: - return await to_thread.run_sync( - self._path.is_block_device, abandon_on_cancel=True - ) - - async def is_char_device(self) -> bool: - return await to_thread.run_sync( - self._path.is_char_device, abandon_on_cancel=True - ) - - async def is_dir(self) -> bool: - return await to_thread.run_sync(self._path.is_dir, abandon_on_cancel=True) - - async def is_fifo(self) -> bool: - return await to_thread.run_sync(self._path.is_fifo, abandon_on_cancel=True) - - async def is_file(self) -> bool: - return await to_thread.run_sync(self._path.is_file, abandon_on_cancel=True) - - async def is_mount(self) -> bool: - return await to_thread.run_sync( - os.path.ismount, self._path, abandon_on_cancel=True - ) - - def is_reserved(self) -> bool: - return self._path.is_reserved() - - async def is_socket(self) -> bool: - return await to_thread.run_sync(self._path.is_socket, abandon_on_cancel=True) - - async def is_symlink(self) -> bool: - return await to_thread.run_sync(self._path.is_symlink, abandon_on_cancel=True) - - def iterdir(self) -> AsyncIterator[Path]: - gen = self._path.iterdir() - return _PathIterator(gen) - - def joinpath(self, *args: str | PathLike[str]) -> Path: - return Path(self._path.joinpath(*args)) - - async def lchmod(self, mode: int) -> None: - await to_thread.run_sync(self._path.lchmod, mode) - - async def lstat(self) -> os.stat_result: - return await to_thread.run_sync(self._path.lstat, abandon_on_cancel=True) - - async def mkdir( - self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False - ) -> None: - await to_thread.run_sync(self._path.mkdir, mode, parents, exist_ok) - - @overload - async def open( - self, - mode: OpenBinaryMode, - buffering: int = ..., - encoding: str | None = ..., - errors: str | None = ..., - newline: str | None = ..., - ) -> AsyncFile[bytes]: - ... - - @overload - async def open( - self, - mode: OpenTextMode = ..., - buffering: int = ..., - encoding: str | None = ..., - errors: str | None = ..., - newline: str | None = ..., - ) -> AsyncFile[str]: - ... - - async def open( - self, - mode: str = "r", - buffering: int = -1, - encoding: str | None = None, - errors: str | None = None, - newline: str | None = None, - ) -> AsyncFile[Any]: - fp = await to_thread.run_sync( - self._path.open, mode, buffering, encoding, errors, newline - ) - return AsyncFile(fp) - - async def owner(self) -> str: - return await to_thread.run_sync(self._path.owner, abandon_on_cancel=True) - - async def read_bytes(self) -> bytes: - return await to_thread.run_sync(self._path.read_bytes) - - async def read_text( - self, encoding: str | None = None, errors: str | None = None - ) -> str: - return await to_thread.run_sync(self._path.read_text, encoding, errors) - - if sys.version_info >= (3, 12): - - def relative_to( - self, *other: str | PathLike[str], walk_up: bool = False - ) -> Path: - return Path(self._path.relative_to(*other, walk_up=walk_up)) - - else: - - def relative_to(self, *other: str | PathLike[str]) -> Path: - return Path(self._path.relative_to(*other)) - - async def readlink(self) -> Path: - target = await to_thread.run_sync(os.readlink, self._path) - return Path(target) - - async def rename(self, target: str | pathlib.PurePath | Path) -> Path: - if isinstance(target, Path): - target = target._path - - await to_thread.run_sync(self._path.rename, target) - return Path(target) - - async def replace(self, target: str | pathlib.PurePath | Path) -> Path: - if isinstance(target, Path): - target = target._path - - await to_thread.run_sync(self._path.replace, target) - return Path(target) - - async def resolve(self, strict: bool = False) -> Path: - func = partial(self._path.resolve, strict=strict) - return Path(await to_thread.run_sync(func, abandon_on_cancel=True)) - - def rglob(self, pattern: str) -> AsyncIterator[Path]: - gen = self._path.rglob(pattern) - return _PathIterator(gen) - - async def rmdir(self) -> None: - await to_thread.run_sync(self._path.rmdir) - - async def samefile(self, other_path: str | PathLike[str]) -> bool: - if isinstance(other_path, Path): - other_path = other_path._path - - return await to_thread.run_sync( - self._path.samefile, other_path, abandon_on_cancel=True - ) - - async def stat(self, *, follow_symlinks: bool = True) -> os.stat_result: - func = partial(os.stat, follow_symlinks=follow_symlinks) - return await to_thread.run_sync(func, self._path, abandon_on_cancel=True) - - async def symlink_to( - self, - target: str | bytes | PathLike[str] | PathLike[bytes], - target_is_directory: bool = False, - ) -> None: - if isinstance(target, Path): - target = target._path - - await to_thread.run_sync(self._path.symlink_to, target, target_is_directory) - - async def touch(self, mode: int = 0o666, exist_ok: bool = True) -> None: - await to_thread.run_sync(self._path.touch, mode, exist_ok) - - async def unlink(self, missing_ok: bool = False) -> None: - try: - await to_thread.run_sync(self._path.unlink) - except FileNotFoundError: - if not missing_ok: - raise - - if sys.version_info >= (3, 12): - - async def walk( - self, - top_down: bool = True, - on_error: Callable[[OSError], object] | None = None, - follow_symlinks: bool = False, - ) -> AsyncIterator[tuple[Path, list[str], list[str]]]: - def get_next_value() -> tuple[pathlib.Path, list[str], list[str]] | None: - try: - return next(gen) - except StopIteration: - return None - - gen = self._path.walk(top_down, on_error, follow_symlinks) - while True: - value = await to_thread.run_sync(get_next_value) - if value is None: - return - - root, dirs, paths = value - yield Path(root), dirs, paths - - def with_name(self, name: str) -> Path: - return Path(self._path.with_name(name)) - - def with_stem(self, stem: str) -> Path: - return Path(self._path.with_name(stem + self._path.suffix)) - - def with_suffix(self, suffix: str) -> Path: - return Path(self._path.with_suffix(suffix)) - - def with_segments(self, *pathsegments: str | PathLike[str]) -> Path: - return Path(*pathsegments) - - async def write_bytes(self, data: bytes) -> int: - return await to_thread.run_sync(self._path.write_bytes, data) - - async def write_text( - self, - data: str, - encoding: str | None = None, - errors: str | None = None, - newline: str | None = None, - ) -> int: - # Path.write_text() does not support the "newline" parameter before Python 3.10 - def sync_write_text() -> int: - with self._path.open( - "w", encoding=encoding, errors=errors, newline=newline - ) as fp: - return fp.write(data) - - return await to_thread.run_sync(sync_write_text) - - -PathLike.register(Path) diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_resources.py b/venv/lib/python3.11/site-packages/anyio/_core/_resources.py deleted file mode 100644 index b9a5344..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_resources.py +++ /dev/null @@ -1,18 +0,0 @@ -from __future__ import annotations - -from ..abc import AsyncResource -from ._tasks import CancelScope - - -async def aclose_forcefully(resource: AsyncResource) -> None: - """ - Close an asynchronous resource in a cancelled scope. - - Doing this closes the resource without waiting on anything. - - :param resource: the resource to close - - """ - with CancelScope() as scope: - scope.cancel() - await resource.aclose() diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_signals.py b/venv/lib/python3.11/site-packages/anyio/_core/_signals.py deleted file mode 100644 index 115c749..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_signals.py +++ /dev/null @@ -1,25 +0,0 @@ -from __future__ import annotations - -from collections.abc import AsyncIterator -from signal import Signals -from typing import ContextManager - -from ._eventloop import get_async_backend - - -def open_signal_receiver(*signals: Signals) -> ContextManager[AsyncIterator[Signals]]: - """ - Start receiving operating system signals. - - :param signals: signals to receive (e.g. ``signal.SIGINT``) - :return: an asynchronous context manager for an asynchronous iterator which yields - signal numbers - - .. warning:: Windows does not support signals natively so it is best to avoid - relying on this in cross-platform applications. - - .. warning:: On asyncio, this permanently replaces any previous signal handler for - the given signals, as set via :meth:`~asyncio.loop.add_signal_handler`. - - """ - return get_async_backend().open_signal_receiver(*signals) diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_sockets.py b/venv/lib/python3.11/site-packages/anyio/_core/_sockets.py deleted file mode 100644 index 0f0a314..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_sockets.py +++ /dev/null @@ -1,716 +0,0 @@ -from __future__ import annotations - -import errno -import os -import socket -import ssl -import stat -import sys -from collections.abc import Awaitable -from ipaddress import IPv6Address, ip_address -from os import PathLike, chmod -from socket import AddressFamily, SocketKind -from typing import Any, Literal, cast, overload - -from .. import to_thread -from ..abc import ( - ConnectedUDPSocket, - ConnectedUNIXDatagramSocket, - IPAddressType, - IPSockAddrType, - SocketListener, - SocketStream, - UDPSocket, - UNIXDatagramSocket, - UNIXSocketStream, -) -from ..streams.stapled import MultiListener -from ..streams.tls import TLSStream -from ._eventloop import get_async_backend -from ._resources import aclose_forcefully -from ._synchronization import Event -from ._tasks import create_task_group, move_on_after - -if sys.version_info < (3, 11): - from exceptiongroup import ExceptionGroup - -IPPROTO_IPV6 = getattr(socket, "IPPROTO_IPV6", 41) # https://bugs.python.org/issue29515 - -AnyIPAddressFamily = Literal[ - AddressFamily.AF_UNSPEC, AddressFamily.AF_INET, AddressFamily.AF_INET6 -] -IPAddressFamily = Literal[AddressFamily.AF_INET, AddressFamily.AF_INET6] - - -# tls_hostname given -@overload -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = ..., - ssl_context: ssl.SSLContext | None = ..., - tls_standard_compatible: bool = ..., - tls_hostname: str, - happy_eyeballs_delay: float = ..., -) -> TLSStream: - ... - - -# ssl_context given -@overload -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = ..., - ssl_context: ssl.SSLContext, - tls_standard_compatible: bool = ..., - tls_hostname: str | None = ..., - happy_eyeballs_delay: float = ..., -) -> TLSStream: - ... - - -# tls=True -@overload -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = ..., - tls: Literal[True], - ssl_context: ssl.SSLContext | None = ..., - tls_standard_compatible: bool = ..., - tls_hostname: str | None = ..., - happy_eyeballs_delay: float = ..., -) -> TLSStream: - ... - - -# tls=False -@overload -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = ..., - tls: Literal[False], - ssl_context: ssl.SSLContext | None = ..., - tls_standard_compatible: bool = ..., - tls_hostname: str | None = ..., - happy_eyeballs_delay: float = ..., -) -> SocketStream: - ... - - -# No TLS arguments -@overload -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = ..., - happy_eyeballs_delay: float = ..., -) -> SocketStream: - ... - - -async def connect_tcp( - remote_host: IPAddressType, - remote_port: int, - *, - local_host: IPAddressType | None = None, - tls: bool = False, - ssl_context: ssl.SSLContext | None = None, - tls_standard_compatible: bool = True, - tls_hostname: str | None = None, - happy_eyeballs_delay: float = 0.25, -) -> SocketStream | TLSStream: - """ - Connect to a host using the TCP protocol. - - This function implements the stateless version of the Happy Eyeballs algorithm (RFC - 6555). If ``remote_host`` is a host name that resolves to multiple IP addresses, - each one is tried until one connection attempt succeeds. If the first attempt does - not connected within 250 milliseconds, a second attempt is started using the next - address in the list, and so on. On IPv6 enabled systems, an IPv6 address (if - available) is tried first. - - When the connection has been established, a TLS handshake will be done if either - ``ssl_context`` or ``tls_hostname`` is not ``None``, or if ``tls`` is ``True``. - - :param remote_host: the IP address or host name to connect to - :param remote_port: port on the target host to connect to - :param local_host: the interface address or name to bind the socket to before - connecting - :param tls: ``True`` to do a TLS handshake with the connected stream and return a - :class:`~anyio.streams.tls.TLSStream` instead - :param ssl_context: the SSL context object to use (if omitted, a default context is - created) - :param tls_standard_compatible: If ``True``, performs the TLS shutdown handshake - before closing the stream and requires that the server does this as well. - Otherwise, :exc:`~ssl.SSLEOFError` may be raised during reads from the stream. - Some protocols, such as HTTP, require this option to be ``False``. - See :meth:`~ssl.SSLContext.wrap_socket` for details. - :param tls_hostname: host name to check the server certificate against (defaults to - the value of ``remote_host``) - :param happy_eyeballs_delay: delay (in seconds) before starting the next connection - attempt - :return: a socket stream object if no TLS handshake was done, otherwise a TLS stream - :raises OSError: if the connection attempt fails - - """ - # Placed here due to https://github.com/python/mypy/issues/7057 - connected_stream: SocketStream | None = None - - async def try_connect(remote_host: str, event: Event) -> None: - nonlocal connected_stream - try: - stream = await asynclib.connect_tcp(remote_host, remote_port, local_address) - except OSError as exc: - oserrors.append(exc) - return - else: - if connected_stream is None: - connected_stream = stream - tg.cancel_scope.cancel() - else: - await stream.aclose() - finally: - event.set() - - asynclib = get_async_backend() - local_address: IPSockAddrType | None = None - family = socket.AF_UNSPEC - if local_host: - gai_res = await getaddrinfo(str(local_host), None) - family, *_, local_address = gai_res[0] - - target_host = str(remote_host) - try: - addr_obj = ip_address(remote_host) - except ValueError: - # getaddrinfo() will raise an exception if name resolution fails - gai_res = await getaddrinfo( - target_host, remote_port, family=family, type=socket.SOCK_STREAM - ) - - # Organize the list so that the first address is an IPv6 address (if available) - # and the second one is an IPv4 addresses. The rest can be in whatever order. - v6_found = v4_found = False - target_addrs: list[tuple[socket.AddressFamily, str]] = [] - for af, *rest, sa in gai_res: - if af == socket.AF_INET6 and not v6_found: - v6_found = True - target_addrs.insert(0, (af, sa[0])) - elif af == socket.AF_INET and not v4_found and v6_found: - v4_found = True - target_addrs.insert(1, (af, sa[0])) - else: - target_addrs.append((af, sa[0])) - else: - if isinstance(addr_obj, IPv6Address): - target_addrs = [(socket.AF_INET6, addr_obj.compressed)] - else: - target_addrs = [(socket.AF_INET, addr_obj.compressed)] - - oserrors: list[OSError] = [] - async with create_task_group() as tg: - for i, (af, addr) in enumerate(target_addrs): - event = Event() - tg.start_soon(try_connect, addr, event) - with move_on_after(happy_eyeballs_delay): - await event.wait() - - if connected_stream is None: - cause = ( - oserrors[0] - if len(oserrors) == 1 - else ExceptionGroup("multiple connection attempts failed", oserrors) - ) - raise OSError("All connection attempts failed") from cause - - if tls or tls_hostname or ssl_context: - try: - return await TLSStream.wrap( - connected_stream, - server_side=False, - hostname=tls_hostname or str(remote_host), - ssl_context=ssl_context, - standard_compatible=tls_standard_compatible, - ) - except BaseException: - await aclose_forcefully(connected_stream) - raise - - return connected_stream - - -async def connect_unix(path: str | bytes | PathLike[Any]) -> UNIXSocketStream: - """ - Connect to the given UNIX socket. - - Not available on Windows. - - :param path: path to the socket - :return: a socket stream object - - """ - path = os.fspath(path) - return await get_async_backend().connect_unix(path) - - -async def create_tcp_listener( - *, - local_host: IPAddressType | None = None, - local_port: int = 0, - family: AnyIPAddressFamily = socket.AddressFamily.AF_UNSPEC, - backlog: int = 65536, - reuse_port: bool = False, -) -> MultiListener[SocketStream]: - """ - Create a TCP socket listener. - - :param local_port: port number to listen on - :param local_host: IP address of the interface to listen on. If omitted, listen on - all IPv4 and IPv6 interfaces. To listen on all interfaces on a specific address - family, use ``0.0.0.0`` for IPv4 or ``::`` for IPv6. - :param family: address family (used if ``local_host`` was omitted) - :param backlog: maximum number of queued incoming connections (up to a maximum of - 2**16, or 65536) - :param reuse_port: ``True`` to allow multiple sockets to bind to the same - address/port (not supported on Windows) - :return: a list of listener objects - - """ - asynclib = get_async_backend() - backlog = min(backlog, 65536) - local_host = str(local_host) if local_host is not None else None - gai_res = await getaddrinfo( - local_host, - local_port, - family=family, - type=socket.SocketKind.SOCK_STREAM if sys.platform == "win32" else 0, - flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, - ) - listeners: list[SocketListener] = [] - try: - # The set() is here to work around a glibc bug: - # https://sourceware.org/bugzilla/show_bug.cgi?id=14969 - sockaddr: tuple[str, int] | tuple[str, int, int, int] - for fam, kind, *_, sockaddr in sorted(set(gai_res)): - # Workaround for an uvloop bug where we don't get the correct scope ID for - # IPv6 link-local addresses when passing type=socket.SOCK_STREAM to - # getaddrinfo(): https://github.com/MagicStack/uvloop/issues/539 - if sys.platform != "win32" and kind is not SocketKind.SOCK_STREAM: - continue - - raw_socket = socket.socket(fam) - raw_socket.setblocking(False) - - # For Windows, enable exclusive address use. For others, enable address - # reuse. - if sys.platform == "win32": - raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) - else: - raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - - if reuse_port: - raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) - - # If only IPv6 was requested, disable dual stack operation - if fam == socket.AF_INET6: - raw_socket.setsockopt(IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) - - # Workaround for #554 - if "%" in sockaddr[0]: - addr, scope_id = sockaddr[0].split("%", 1) - sockaddr = (addr, sockaddr[1], 0, int(scope_id)) - - raw_socket.bind(sockaddr) - raw_socket.listen(backlog) - listener = asynclib.create_tcp_listener(raw_socket) - listeners.append(listener) - except BaseException: - for listener in listeners: - await listener.aclose() - - raise - - return MultiListener(listeners) - - -async def create_unix_listener( - path: str | bytes | PathLike[Any], - *, - mode: int | None = None, - backlog: int = 65536, -) -> SocketListener: - """ - Create a UNIX socket listener. - - Not available on Windows. - - :param path: path of the socket - :param mode: permissions to set on the socket - :param backlog: maximum number of queued incoming connections (up to a maximum of - 2**16, or 65536) - :return: a listener object - - .. versionchanged:: 3.0 - If a socket already exists on the file system in the given path, it will be - removed first. - - """ - backlog = min(backlog, 65536) - raw_socket = await setup_unix_local_socket(path, mode, socket.SOCK_STREAM) - try: - raw_socket.listen(backlog) - return get_async_backend().create_unix_listener(raw_socket) - except BaseException: - raw_socket.close() - raise - - -async def create_udp_socket( - family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, - *, - local_host: IPAddressType | None = None, - local_port: int = 0, - reuse_port: bool = False, -) -> UDPSocket: - """ - Create a UDP socket. - - If ``port`` has been given, the socket will be bound to this port on the local - machine, making this socket suitable for providing UDP based services. - - :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically - determined from ``local_host`` if omitted - :param local_host: IP address or host name of the local interface to bind to - :param local_port: local port to bind to - :param reuse_port: ``True`` to allow multiple sockets to bind to the same - address/port (not supported on Windows) - :return: a UDP socket - - """ - if family is AddressFamily.AF_UNSPEC and not local_host: - raise ValueError('Either "family" or "local_host" must be given') - - if local_host: - gai_res = await getaddrinfo( - str(local_host), - local_port, - family=family, - type=socket.SOCK_DGRAM, - flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, - ) - family = cast(AnyIPAddressFamily, gai_res[0][0]) - local_address = gai_res[0][-1] - elif family is AddressFamily.AF_INET6: - local_address = ("::", 0) - else: - local_address = ("0.0.0.0", 0) - - sock = await get_async_backend().create_udp_socket( - family, local_address, None, reuse_port - ) - return cast(UDPSocket, sock) - - -async def create_connected_udp_socket( - remote_host: IPAddressType, - remote_port: int, - *, - family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, - local_host: IPAddressType | None = None, - local_port: int = 0, - reuse_port: bool = False, -) -> ConnectedUDPSocket: - """ - Create a connected UDP socket. - - Connected UDP sockets can only communicate with the specified remote host/port, an - any packets sent from other sources are dropped. - - :param remote_host: remote host to set as the default target - :param remote_port: port on the remote host to set as the default target - :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically - determined from ``local_host`` or ``remote_host`` if omitted - :param local_host: IP address or host name of the local interface to bind to - :param local_port: local port to bind to - :param reuse_port: ``True`` to allow multiple sockets to bind to the same - address/port (not supported on Windows) - :return: a connected UDP socket - - """ - local_address = None - if local_host: - gai_res = await getaddrinfo( - str(local_host), - local_port, - family=family, - type=socket.SOCK_DGRAM, - flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, - ) - family = cast(AnyIPAddressFamily, gai_res[0][0]) - local_address = gai_res[0][-1] - - gai_res = await getaddrinfo( - str(remote_host), remote_port, family=family, type=socket.SOCK_DGRAM - ) - family = cast(AnyIPAddressFamily, gai_res[0][0]) - remote_address = gai_res[0][-1] - - sock = await get_async_backend().create_udp_socket( - family, local_address, remote_address, reuse_port - ) - return cast(ConnectedUDPSocket, sock) - - -async def create_unix_datagram_socket( - *, - local_path: None | str | bytes | PathLike[Any] = None, - local_mode: int | None = None, -) -> UNIXDatagramSocket: - """ - Create a UNIX datagram socket. - - Not available on Windows. - - If ``local_path`` has been given, the socket will be bound to this path, making this - socket suitable for receiving datagrams from other processes. Other processes can - send datagrams to this socket only if ``local_path`` is set. - - If a socket already exists on the file system in the ``local_path``, it will be - removed first. - - :param local_path: the path on which to bind to - :param local_mode: permissions to set on the local socket - :return: a UNIX datagram socket - - """ - raw_socket = await setup_unix_local_socket( - local_path, local_mode, socket.SOCK_DGRAM - ) - return await get_async_backend().create_unix_datagram_socket(raw_socket, None) - - -async def create_connected_unix_datagram_socket( - remote_path: str | bytes | PathLike[Any], - *, - local_path: None | str | bytes | PathLike[Any] = None, - local_mode: int | None = None, -) -> ConnectedUNIXDatagramSocket: - """ - Create a connected UNIX datagram socket. - - Connected datagram sockets can only communicate with the specified remote path. - - If ``local_path`` has been given, the socket will be bound to this path, making - this socket suitable for receiving datagrams from other processes. Other processes - can send datagrams to this socket only if ``local_path`` is set. - - If a socket already exists on the file system in the ``local_path``, it will be - removed first. - - :param remote_path: the path to set as the default target - :param local_path: the path on which to bind to - :param local_mode: permissions to set on the local socket - :return: a connected UNIX datagram socket - - """ - remote_path = os.fspath(remote_path) - raw_socket = await setup_unix_local_socket( - local_path, local_mode, socket.SOCK_DGRAM - ) - return await get_async_backend().create_unix_datagram_socket( - raw_socket, remote_path - ) - - -async def getaddrinfo( - host: bytes | str | None, - port: str | int | None, - *, - family: int | AddressFamily = 0, - type: int | SocketKind = 0, - proto: int = 0, - flags: int = 0, -) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int]]]: - """ - Look up a numeric IP address given a host name. - - Internationalized domain names are translated according to the (non-transitional) - IDNA 2008 standard. - - .. note:: 4-tuple IPv6 socket addresses are automatically converted to 2-tuples of - (host, port), unlike what :func:`socket.getaddrinfo` does. - - :param host: host name - :param port: port number - :param family: socket family (`'AF_INET``, ...) - :param type: socket type (``SOCK_STREAM``, ...) - :param proto: protocol number - :param flags: flags to pass to upstream ``getaddrinfo()`` - :return: list of tuples containing (family, type, proto, canonname, sockaddr) - - .. seealso:: :func:`socket.getaddrinfo` - - """ - # Handle unicode hostnames - if isinstance(host, str): - try: - encoded_host: bytes | None = host.encode("ascii") - except UnicodeEncodeError: - import idna - - encoded_host = idna.encode(host, uts46=True) - else: - encoded_host = host - - gai_res = await get_async_backend().getaddrinfo( - encoded_host, port, family=family, type=type, proto=proto, flags=flags - ) - return [ - (family, type, proto, canonname, convert_ipv6_sockaddr(sockaddr)) - for family, type, proto, canonname, sockaddr in gai_res - ] - - -def getnameinfo(sockaddr: IPSockAddrType, flags: int = 0) -> Awaitable[tuple[str, str]]: - """ - Look up the host name of an IP address. - - :param sockaddr: socket address (e.g. (ipaddress, port) for IPv4) - :param flags: flags to pass to upstream ``getnameinfo()`` - :return: a tuple of (host name, service name) - - .. seealso:: :func:`socket.getnameinfo` - - """ - return get_async_backend().getnameinfo(sockaddr, flags) - - -def wait_socket_readable(sock: socket.socket) -> Awaitable[None]: - """ - Wait until the given socket has data to be read. - - This does **NOT** work on Windows when using the asyncio backend with a proactor - event loop (default on py3.8+). - - .. warning:: Only use this on raw sockets that have not been wrapped by any higher - level constructs like socket streams! - - :param sock: a socket object - :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the - socket to become readable - :raises ~anyio.BusyResourceError: if another task is already waiting for the socket - to become readable - - """ - return get_async_backend().wait_socket_readable(sock) - - -def wait_socket_writable(sock: socket.socket) -> Awaitable[None]: - """ - Wait until the given socket can be written to. - - This does **NOT** work on Windows when using the asyncio backend with a proactor - event loop (default on py3.8+). - - .. warning:: Only use this on raw sockets that have not been wrapped by any higher - level constructs like socket streams! - - :param sock: a socket object - :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the - socket to become writable - :raises ~anyio.BusyResourceError: if another task is already waiting for the socket - to become writable - - """ - return get_async_backend().wait_socket_writable(sock) - - -# -# Private API -# - - -def convert_ipv6_sockaddr( - sockaddr: tuple[str, int, int, int] | tuple[str, int], -) -> tuple[str, int]: - """ - Convert a 4-tuple IPv6 socket address to a 2-tuple (address, port) format. - - If the scope ID is nonzero, it is added to the address, separated with ``%``. - Otherwise the flow id and scope id are simply cut off from the tuple. - Any other kinds of socket addresses are returned as-is. - - :param sockaddr: the result of :meth:`~socket.socket.getsockname` - :return: the converted socket address - - """ - # This is more complicated than it should be because of MyPy - if isinstance(sockaddr, tuple) and len(sockaddr) == 4: - host, port, flowinfo, scope_id = sockaddr - if scope_id: - # PyPy (as of v7.3.11) leaves the interface name in the result, so - # we discard it and only get the scope ID from the end - # (https://foss.heptapod.net/pypy/pypy/-/issues/3938) - host = host.split("%")[0] - - # Add scope_id to the address - return f"{host}%{scope_id}", port - else: - return host, port - else: - return sockaddr - - -async def setup_unix_local_socket( - path: None | str | bytes | PathLike[Any], - mode: int | None, - socktype: int, -) -> socket.socket: - """ - Create a UNIX local socket object, deleting the socket at the given path if it - exists. - - Not available on Windows. - - :param path: path of the socket - :param mode: permissions to set on the socket - :param socktype: socket.SOCK_STREAM or socket.SOCK_DGRAM - - """ - path_str: str | bytes | None - if path is not None: - path_str = os.fspath(path) - - # Copied from pathlib... - try: - stat_result = os.stat(path) - except OSError as e: - if e.errno not in (errno.ENOENT, errno.ENOTDIR, errno.EBADF, errno.ELOOP): - raise - else: - if stat.S_ISSOCK(stat_result.st_mode): - os.unlink(path) - else: - path_str = None - - raw_socket = socket.socket(socket.AF_UNIX, socktype) - raw_socket.setblocking(False) - - if path_str is not None: - try: - await to_thread.run_sync(raw_socket.bind, path_str, abandon_on_cancel=True) - if mode is not None: - await to_thread.run_sync(chmod, path_str, mode, abandon_on_cancel=True) - except BaseException: - raw_socket.close() - raise - - return raw_socket diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_streams.py b/venv/lib/python3.11/site-packages/anyio/_core/_streams.py deleted file mode 100644 index aa6b0c2..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_streams.py +++ /dev/null @@ -1,52 +0,0 @@ -from __future__ import annotations - -import math -from typing import Tuple, TypeVar -from warnings import warn - -from ..streams.memory import ( - MemoryObjectReceiveStream, - MemoryObjectSendStream, - MemoryObjectStreamState, -) - -T_Item = TypeVar("T_Item") - - -class create_memory_object_stream( - Tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]], -): - """ - Create a memory object stream. - - The stream's item type can be annotated like - :func:`create_memory_object_stream[T_Item]`. - - :param max_buffer_size: number of items held in the buffer until ``send()`` starts - blocking - :param item_type: old way of marking the streams with the right generic type for - static typing (does nothing on AnyIO 4) - - .. deprecated:: 4.0 - Use ``create_memory_object_stream[YourItemType](...)`` instead. - :return: a tuple of (send stream, receive stream) - - """ - - def __new__( # type: ignore[misc] - cls, max_buffer_size: float = 0, item_type: object = None - ) -> tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]]: - if max_buffer_size != math.inf and not isinstance(max_buffer_size, int): - raise ValueError("max_buffer_size must be either an integer or math.inf") - if max_buffer_size < 0: - raise ValueError("max_buffer_size cannot be negative") - if item_type is not None: - warn( - "The item_type argument has been deprecated in AnyIO 4.0. " - "Use create_memory_object_stream[YourItemType](...) instead.", - DeprecationWarning, - stacklevel=2, - ) - - state = MemoryObjectStreamState[T_Item](max_buffer_size) - return (MemoryObjectSendStream(state), MemoryObjectReceiveStream(state)) diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py b/venv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py deleted file mode 100644 index 5d5d7b7..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_subprocesses.py +++ /dev/null @@ -1,140 +0,0 @@ -from __future__ import annotations - -from collections.abc import AsyncIterable, Mapping, Sequence -from io import BytesIO -from os import PathLike -from subprocess import DEVNULL, PIPE, CalledProcessError, CompletedProcess -from typing import IO, Any, cast - -from ..abc import Process -from ._eventloop import get_async_backend -from ._tasks import create_task_group - - -async def run_process( - command: str | bytes | Sequence[str | bytes], - *, - input: bytes | None = None, - stdout: int | IO[Any] | None = PIPE, - stderr: int | IO[Any] | None = PIPE, - check: bool = True, - cwd: str | bytes | PathLike[str] | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, -) -> CompletedProcess[bytes]: - """ - Run an external command in a subprocess and wait until it completes. - - .. seealso:: :func:`subprocess.run` - - :param command: either a string to pass to the shell, or an iterable of strings - containing the executable name or path and its arguments - :param input: bytes passed to the standard input of the subprocess - :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, - a file-like object, or `None` - :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, - :data:`subprocess.STDOUT`, a file-like object, or `None` - :param check: if ``True``, raise :exc:`~subprocess.CalledProcessError` if the - process terminates with a return code other than 0 - :param cwd: If not ``None``, change the working directory to this before running the - command - :param env: if not ``None``, this mapping replaces the inherited environment - variables from the parent process - :param start_new_session: if ``true`` the setsid() system call will be made in the - child process prior to the execution of the subprocess. (POSIX only) - :return: an object representing the completed process - :raises ~subprocess.CalledProcessError: if ``check`` is ``True`` and the process - exits with a nonzero return code - - """ - - async def drain_stream(stream: AsyncIterable[bytes], index: int) -> None: - buffer = BytesIO() - async for chunk in stream: - buffer.write(chunk) - - stream_contents[index] = buffer.getvalue() - - async with await open_process( - command, - stdin=PIPE if input else DEVNULL, - stdout=stdout, - stderr=stderr, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) as process: - stream_contents: list[bytes | None] = [None, None] - async with create_task_group() as tg: - if process.stdout: - tg.start_soon(drain_stream, process.stdout, 0) - - if process.stderr: - tg.start_soon(drain_stream, process.stderr, 1) - - if process.stdin and input: - await process.stdin.send(input) - await process.stdin.aclose() - - await process.wait() - - output, errors = stream_contents - if check and process.returncode != 0: - raise CalledProcessError(cast(int, process.returncode), command, output, errors) - - return CompletedProcess(command, cast(int, process.returncode), output, errors) - - -async def open_process( - command: str | bytes | Sequence[str | bytes], - *, - stdin: int | IO[Any] | None = PIPE, - stdout: int | IO[Any] | None = PIPE, - stderr: int | IO[Any] | None = PIPE, - cwd: str | bytes | PathLike[str] | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, -) -> Process: - """ - Start an external command in a subprocess. - - .. seealso:: :class:`subprocess.Popen` - - :param command: either a string to pass to the shell, or an iterable of strings - containing the executable name or path and its arguments - :param stdin: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, a - file-like object, or ``None`` - :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, - a file-like object, or ``None`` - :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, - :data:`subprocess.STDOUT`, a file-like object, or ``None`` - :param cwd: If not ``None``, the working directory is changed before executing - :param env: If env is not ``None``, it must be a mapping that defines the - environment variables for the new process - :param start_new_session: if ``true`` the setsid() system call will be made in the - child process prior to the execution of the subprocess. (POSIX only) - :return: an asynchronous process object - - """ - if isinstance(command, (str, bytes)): - return await get_async_backend().open_process( - command, - shell=True, - stdin=stdin, - stdout=stdout, - stderr=stderr, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) - else: - return await get_async_backend().open_process( - command, - shell=False, - stdin=stdin, - stdout=stdout, - stderr=stderr, - cwd=cwd, - env=env, - start_new_session=start_new_session, - ) diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_synchronization.py b/venv/lib/python3.11/site-packages/anyio/_core/_synchronization.py deleted file mode 100644 index b274a31..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_synchronization.py +++ /dev/null @@ -1,649 +0,0 @@ -from __future__ import annotations - -import math -from collections import deque -from dataclasses import dataclass -from types import TracebackType - -from sniffio import AsyncLibraryNotFoundError - -from ..lowlevel import cancel_shielded_checkpoint, checkpoint, checkpoint_if_cancelled -from ._eventloop import get_async_backend -from ._exceptions import BusyResourceError, WouldBlock -from ._tasks import CancelScope -from ._testing import TaskInfo, get_current_task - - -@dataclass(frozen=True) -class EventStatistics: - """ - :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Event.wait` - """ - - tasks_waiting: int - - -@dataclass(frozen=True) -class CapacityLimiterStatistics: - """ - :ivar int borrowed_tokens: number of tokens currently borrowed by tasks - :ivar float total_tokens: total number of available tokens - :ivar tuple borrowers: tasks or other objects currently holding tokens borrowed from - this limiter - :ivar int tasks_waiting: number of tasks waiting on - :meth:`~.CapacityLimiter.acquire` or - :meth:`~.CapacityLimiter.acquire_on_behalf_of` - """ - - borrowed_tokens: int - total_tokens: float - borrowers: tuple[object, ...] - tasks_waiting: int - - -@dataclass(frozen=True) -class LockStatistics: - """ - :ivar bool locked: flag indicating if this lock is locked or not - :ivar ~anyio.TaskInfo owner: task currently holding the lock (or ``None`` if the - lock is not held by any task) - :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Lock.acquire` - """ - - locked: bool - owner: TaskInfo | None - tasks_waiting: int - - -@dataclass(frozen=True) -class ConditionStatistics: - """ - :ivar int tasks_waiting: number of tasks blocked on :meth:`~.Condition.wait` - :ivar ~anyio.LockStatistics lock_statistics: statistics of the underlying - :class:`~.Lock` - """ - - tasks_waiting: int - lock_statistics: LockStatistics - - -@dataclass(frozen=True) -class SemaphoreStatistics: - """ - :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Semaphore.acquire` - - """ - - tasks_waiting: int - - -class Event: - def __new__(cls) -> Event: - try: - return get_async_backend().create_event() - except AsyncLibraryNotFoundError: - return EventAdapter() - - def set(self) -> None: - """Set the flag, notifying all listeners.""" - raise NotImplementedError - - def is_set(self) -> bool: - """Return ``True`` if the flag is set, ``False`` if not.""" - raise NotImplementedError - - async def wait(self) -> None: - """ - Wait until the flag has been set. - - If the flag has already been set when this method is called, it returns - immediately. - - """ - raise NotImplementedError - - def statistics(self) -> EventStatistics: - """Return statistics about the current state of this event.""" - raise NotImplementedError - - -class EventAdapter(Event): - _internal_event: Event | None = None - - def __new__(cls) -> EventAdapter: - return object.__new__(cls) - - @property - def _event(self) -> Event: - if self._internal_event is None: - self._internal_event = get_async_backend().create_event() - - return self._internal_event - - def set(self) -> None: - self._event.set() - - def is_set(self) -> bool: - return self._internal_event is not None and self._internal_event.is_set() - - async def wait(self) -> None: - await self._event.wait() - - def statistics(self) -> EventStatistics: - if self._internal_event is None: - return EventStatistics(tasks_waiting=0) - - return self._internal_event.statistics() - - -class Lock: - _owner_task: TaskInfo | None = None - - def __init__(self) -> None: - self._waiters: deque[tuple[TaskInfo, Event]] = deque() - - async def __aenter__(self) -> None: - await self.acquire() - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.release() - - async def acquire(self) -> None: - """Acquire the lock.""" - await checkpoint_if_cancelled() - try: - self.acquire_nowait() - except WouldBlock: - task = get_current_task() - event = Event() - token = task, event - self._waiters.append(token) - try: - await event.wait() - except BaseException: - if not event.is_set(): - self._waiters.remove(token) - elif self._owner_task == task: - self.release() - - raise - - assert self._owner_task == task - else: - try: - await cancel_shielded_checkpoint() - except BaseException: - self.release() - raise - - def acquire_nowait(self) -> None: - """ - Acquire the lock, without blocking. - - :raises ~anyio.WouldBlock: if the operation would block - - """ - task = get_current_task() - if self._owner_task == task: - raise RuntimeError("Attempted to acquire an already held Lock") - - if self._owner_task is not None: - raise WouldBlock - - self._owner_task = task - - def release(self) -> None: - """Release the lock.""" - if self._owner_task != get_current_task(): - raise RuntimeError("The current task is not holding this lock") - - if self._waiters: - self._owner_task, event = self._waiters.popleft() - event.set() - else: - del self._owner_task - - def locked(self) -> bool: - """Return True if the lock is currently held.""" - return self._owner_task is not None - - def statistics(self) -> LockStatistics: - """ - Return statistics about the current state of this lock. - - .. versionadded:: 3.0 - """ - return LockStatistics(self.locked(), self._owner_task, len(self._waiters)) - - -class Condition: - _owner_task: TaskInfo | None = None - - def __init__(self, lock: Lock | None = None): - self._lock = lock or Lock() - self._waiters: deque[Event] = deque() - - async def __aenter__(self) -> None: - await self.acquire() - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.release() - - def _check_acquired(self) -> None: - if self._owner_task != get_current_task(): - raise RuntimeError("The current task is not holding the underlying lock") - - async def acquire(self) -> None: - """Acquire the underlying lock.""" - await self._lock.acquire() - self._owner_task = get_current_task() - - def acquire_nowait(self) -> None: - """ - Acquire the underlying lock, without blocking. - - :raises ~anyio.WouldBlock: if the operation would block - - """ - self._lock.acquire_nowait() - self._owner_task = get_current_task() - - def release(self) -> None: - """Release the underlying lock.""" - self._lock.release() - - def locked(self) -> bool: - """Return True if the lock is set.""" - return self._lock.locked() - - def notify(self, n: int = 1) -> None: - """Notify exactly n listeners.""" - self._check_acquired() - for _ in range(n): - try: - event = self._waiters.popleft() - except IndexError: - break - - event.set() - - def notify_all(self) -> None: - """Notify all the listeners.""" - self._check_acquired() - for event in self._waiters: - event.set() - - self._waiters.clear() - - async def wait(self) -> None: - """Wait for a notification.""" - await checkpoint() - event = Event() - self._waiters.append(event) - self.release() - try: - await event.wait() - except BaseException: - if not event.is_set(): - self._waiters.remove(event) - - raise - finally: - with CancelScope(shield=True): - await self.acquire() - - def statistics(self) -> ConditionStatistics: - """ - Return statistics about the current state of this condition. - - .. versionadded:: 3.0 - """ - return ConditionStatistics(len(self._waiters), self._lock.statistics()) - - -class Semaphore: - def __init__(self, initial_value: int, *, max_value: int | None = None): - if not isinstance(initial_value, int): - raise TypeError("initial_value must be an integer") - if initial_value < 0: - raise ValueError("initial_value must be >= 0") - if max_value is not None: - if not isinstance(max_value, int): - raise TypeError("max_value must be an integer or None") - if max_value < initial_value: - raise ValueError( - "max_value must be equal to or higher than initial_value" - ) - - self._value = initial_value - self._max_value = max_value - self._waiters: deque[Event] = deque() - - async def __aenter__(self) -> Semaphore: - await self.acquire() - return self - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.release() - - async def acquire(self) -> None: - """Decrement the semaphore value, blocking if necessary.""" - await checkpoint_if_cancelled() - try: - self.acquire_nowait() - except WouldBlock: - event = Event() - self._waiters.append(event) - try: - await event.wait() - except BaseException: - if not event.is_set(): - self._waiters.remove(event) - else: - self.release() - - raise - else: - try: - await cancel_shielded_checkpoint() - except BaseException: - self.release() - raise - - def acquire_nowait(self) -> None: - """ - Acquire the underlying lock, without blocking. - - :raises ~anyio.WouldBlock: if the operation would block - - """ - if self._value == 0: - raise WouldBlock - - self._value -= 1 - - def release(self) -> None: - """Increment the semaphore value.""" - if self._max_value is not None and self._value == self._max_value: - raise ValueError("semaphore released too many times") - - if self._waiters: - self._waiters.popleft().set() - else: - self._value += 1 - - @property - def value(self) -> int: - """The current value of the semaphore.""" - return self._value - - @property - def max_value(self) -> int | None: - """The maximum value of the semaphore.""" - return self._max_value - - def statistics(self) -> SemaphoreStatistics: - """ - Return statistics about the current state of this semaphore. - - .. versionadded:: 3.0 - """ - return SemaphoreStatistics(len(self._waiters)) - - -class CapacityLimiter: - def __new__(cls, total_tokens: float) -> CapacityLimiter: - try: - return get_async_backend().create_capacity_limiter(total_tokens) - except AsyncLibraryNotFoundError: - return CapacityLimiterAdapter(total_tokens) - - async def __aenter__(self) -> None: - raise NotImplementedError - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - raise NotImplementedError - - @property - def total_tokens(self) -> float: - """ - The total number of tokens available for borrowing. - - This is a read-write property. If the total number of tokens is increased, the - proportionate number of tasks waiting on this limiter will be granted their - tokens. - - .. versionchanged:: 3.0 - The property is now writable. - - """ - raise NotImplementedError - - @total_tokens.setter - def total_tokens(self, value: float) -> None: - raise NotImplementedError - - @property - def borrowed_tokens(self) -> int: - """The number of tokens that have currently been borrowed.""" - raise NotImplementedError - - @property - def available_tokens(self) -> float: - """The number of tokens currently available to be borrowed""" - raise NotImplementedError - - def acquire_nowait(self) -> None: - """ - Acquire a token for the current task without waiting for one to become - available. - - :raises ~anyio.WouldBlock: if there are no tokens available for borrowing - - """ - raise NotImplementedError - - def acquire_on_behalf_of_nowait(self, borrower: object) -> None: - """ - Acquire a token without waiting for one to become available. - - :param borrower: the entity borrowing a token - :raises ~anyio.WouldBlock: if there are no tokens available for borrowing - - """ - raise NotImplementedError - - async def acquire(self) -> None: - """ - Acquire a token for the current task, waiting if necessary for one to become - available. - - """ - raise NotImplementedError - - async def acquire_on_behalf_of(self, borrower: object) -> None: - """ - Acquire a token, waiting if necessary for one to become available. - - :param borrower: the entity borrowing a token - - """ - raise NotImplementedError - - def release(self) -> None: - """ - Release the token held by the current task. - - :raises RuntimeError: if the current task has not borrowed a token from this - limiter. - - """ - raise NotImplementedError - - def release_on_behalf_of(self, borrower: object) -> None: - """ - Release the token held by the given borrower. - - :raises RuntimeError: if the borrower has not borrowed a token from this - limiter. - - """ - raise NotImplementedError - - def statistics(self) -> CapacityLimiterStatistics: - """ - Return statistics about the current state of this limiter. - - .. versionadded:: 3.0 - - """ - raise NotImplementedError - - -class CapacityLimiterAdapter(CapacityLimiter): - _internal_limiter: CapacityLimiter | None = None - - def __new__(cls, total_tokens: float) -> CapacityLimiterAdapter: - return object.__new__(cls) - - def __init__(self, total_tokens: float) -> None: - self.total_tokens = total_tokens - - @property - def _limiter(self) -> CapacityLimiter: - if self._internal_limiter is None: - self._internal_limiter = get_async_backend().create_capacity_limiter( - self._total_tokens - ) - - return self._internal_limiter - - async def __aenter__(self) -> None: - await self._limiter.__aenter__() - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - return await self._limiter.__aexit__(exc_type, exc_val, exc_tb) - - @property - def total_tokens(self) -> float: - if self._internal_limiter is None: - return self._total_tokens - - return self._internal_limiter.total_tokens - - @total_tokens.setter - def total_tokens(self, value: float) -> None: - if not isinstance(value, int) and value is not math.inf: - raise TypeError("total_tokens must be an int or math.inf") - elif value < 1: - raise ValueError("total_tokens must be >= 1") - - if self._internal_limiter is None: - self._total_tokens = value - return - - self._limiter.total_tokens = value - - @property - def borrowed_tokens(self) -> int: - if self._internal_limiter is None: - return 0 - - return self._internal_limiter.borrowed_tokens - - @property - def available_tokens(self) -> float: - if self._internal_limiter is None: - return self._total_tokens - - return self._internal_limiter.available_tokens - - def acquire_nowait(self) -> None: - self._limiter.acquire_nowait() - - def acquire_on_behalf_of_nowait(self, borrower: object) -> None: - self._limiter.acquire_on_behalf_of_nowait(borrower) - - async def acquire(self) -> None: - await self._limiter.acquire() - - async def acquire_on_behalf_of(self, borrower: object) -> None: - await self._limiter.acquire_on_behalf_of(borrower) - - def release(self) -> None: - self._limiter.release() - - def release_on_behalf_of(self, borrower: object) -> None: - self._limiter.release_on_behalf_of(borrower) - - def statistics(self) -> CapacityLimiterStatistics: - if self._internal_limiter is None: - return CapacityLimiterStatistics( - borrowed_tokens=0, - total_tokens=self.total_tokens, - borrowers=(), - tasks_waiting=0, - ) - - return self._internal_limiter.statistics() - - -class ResourceGuard: - """ - A context manager for ensuring that a resource is only used by a single task at a - time. - - Entering this context manager while the previous has not exited it yet will trigger - :exc:`BusyResourceError`. - - :param action: the action to guard against (visible in the :exc:`BusyResourceError` - when triggered, e.g. "Another task is already {action} this resource") - - .. versionadded:: 4.1 - """ - - __slots__ = "action", "_guarded" - - def __init__(self, action: str = "using"): - self.action: str = action - self._guarded = False - - def __enter__(self) -> None: - if self._guarded: - raise BusyResourceError(self.action) - - self._guarded = True - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - self._guarded = False - return None diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_tasks.py b/venv/lib/python3.11/site-packages/anyio/_core/_tasks.py deleted file mode 100644 index 2f21ea2..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_tasks.py +++ /dev/null @@ -1,158 +0,0 @@ -from __future__ import annotations - -import math -from collections.abc import Generator -from contextlib import contextmanager -from types import TracebackType - -from ..abc._tasks import TaskGroup, TaskStatus -from ._eventloop import get_async_backend - - -class _IgnoredTaskStatus(TaskStatus[object]): - def started(self, value: object = None) -> None: - pass - - -TASK_STATUS_IGNORED = _IgnoredTaskStatus() - - -class CancelScope: - """ - Wraps a unit of work that can be made separately cancellable. - - :param deadline: The time (clock value) when this scope is cancelled automatically - :param shield: ``True`` to shield the cancel scope from external cancellation - """ - - def __new__( - cls, *, deadline: float = math.inf, shield: bool = False - ) -> CancelScope: - return get_async_backend().create_cancel_scope(shield=shield, deadline=deadline) - - def cancel(self) -> None: - """Cancel this scope immediately.""" - raise NotImplementedError - - @property - def deadline(self) -> float: - """ - The time (clock value) when this scope is cancelled automatically. - - Will be ``float('inf')`` if no timeout has been set. - - """ - raise NotImplementedError - - @deadline.setter - def deadline(self, value: float) -> None: - raise NotImplementedError - - @property - def cancel_called(self) -> bool: - """``True`` if :meth:`cancel` has been called.""" - raise NotImplementedError - - @property - def cancelled_caught(self) -> bool: - """ - ``True`` if this scope suppressed a cancellation exception it itself raised. - - This is typically used to check if any work was interrupted, or to see if the - scope was cancelled due to its deadline being reached. The value will, however, - only be ``True`` if the cancellation was triggered by the scope itself (and not - an outer scope). - - """ - raise NotImplementedError - - @property - def shield(self) -> bool: - """ - ``True`` if this scope is shielded from external cancellation. - - While a scope is shielded, it will not receive cancellations from outside. - - """ - raise NotImplementedError - - @shield.setter - def shield(self, value: bool) -> None: - raise NotImplementedError - - def __enter__(self) -> CancelScope: - raise NotImplementedError - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - raise NotImplementedError - - -@contextmanager -def fail_after( - delay: float | None, shield: bool = False -) -> Generator[CancelScope, None, None]: - """ - Create a context manager which raises a :class:`TimeoutError` if does not finish in - time. - - :param delay: maximum allowed time (in seconds) before raising the exception, or - ``None`` to disable the timeout - :param shield: ``True`` to shield the cancel scope from external cancellation - :return: a context manager that yields a cancel scope - :rtype: :class:`~typing.ContextManager`\\[:class:`~anyio.CancelScope`\\] - - """ - current_time = get_async_backend().current_time - deadline = (current_time() + delay) if delay is not None else math.inf - with get_async_backend().create_cancel_scope( - deadline=deadline, shield=shield - ) as cancel_scope: - yield cancel_scope - - if cancel_scope.cancelled_caught and current_time() >= cancel_scope.deadline: - raise TimeoutError - - -def move_on_after(delay: float | None, shield: bool = False) -> CancelScope: - """ - Create a cancel scope with a deadline that expires after the given delay. - - :param delay: maximum allowed time (in seconds) before exiting the context block, or - ``None`` to disable the timeout - :param shield: ``True`` to shield the cancel scope from external cancellation - :return: a cancel scope - - """ - deadline = ( - (get_async_backend().current_time() + delay) if delay is not None else math.inf - ) - return get_async_backend().create_cancel_scope(deadline=deadline, shield=shield) - - -def current_effective_deadline() -> float: - """ - Return the nearest deadline among all the cancel scopes effective for the current - task. - - :return: a clock value from the event loop's internal clock (or ``float('inf')`` if - there is no deadline in effect, or ``float('-inf')`` if the current scope has - been cancelled) - :rtype: float - - """ - return get_async_backend().current_effective_deadline() - - -def create_task_group() -> TaskGroup: - """ - Create a task group. - - :return: a task group - - """ - return get_async_backend().create_task_group() diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_testing.py b/venv/lib/python3.11/site-packages/anyio/_core/_testing.py deleted file mode 100644 index 1dae3b1..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_testing.py +++ /dev/null @@ -1,74 +0,0 @@ -from __future__ import annotations - -from collections.abc import Awaitable, Generator -from typing import Any - -from ._eventloop import get_async_backend - - -class TaskInfo: - """ - Represents an asynchronous task. - - :ivar int id: the unique identifier of the task - :ivar parent_id: the identifier of the parent task, if any - :vartype parent_id: Optional[int] - :ivar str name: the description of the task (if any) - :ivar ~collections.abc.Coroutine coro: the coroutine object of the task - """ - - __slots__ = "_name", "id", "parent_id", "name", "coro" - - def __init__( - self, - id: int, - parent_id: int | None, - name: str | None, - coro: Generator[Any, Any, Any] | Awaitable[Any], - ): - func = get_current_task - self._name = f"{func.__module__}.{func.__qualname__}" - self.id: int = id - self.parent_id: int | None = parent_id - self.name: str | None = name - self.coro: Generator[Any, Any, Any] | Awaitable[Any] = coro - - def __eq__(self, other: object) -> bool: - if isinstance(other, TaskInfo): - return self.id == other.id - - return NotImplemented - - def __hash__(self) -> int: - return hash(self.id) - - def __repr__(self) -> str: - return f"{self.__class__.__name__}(id={self.id!r}, name={self.name!r})" - - def _unwrap(self) -> TaskInfo: - return self - - -def get_current_task() -> TaskInfo: - """ - Return the current task. - - :return: a representation of the current task - - """ - return get_async_backend().get_current_task() - - -def get_running_tasks() -> list[TaskInfo]: - """ - Return a list of running tasks in the current event loop. - - :return: a list of task info objects - - """ - return get_async_backend().get_running_tasks() - - -async def wait_all_tasks_blocked() -> None: - """Wait until all other tasks are waiting for something.""" - await get_async_backend().wait_all_tasks_blocked() diff --git a/venv/lib/python3.11/site-packages/anyio/_core/_typedattr.py b/venv/lib/python3.11/site-packages/anyio/_core/_typedattr.py deleted file mode 100644 index 74c6b8f..0000000 --- a/venv/lib/python3.11/site-packages/anyio/_core/_typedattr.py +++ /dev/null @@ -1,81 +0,0 @@ -from __future__ import annotations - -from collections.abc import Callable, Mapping -from typing import Any, TypeVar, final, overload - -from ._exceptions import TypedAttributeLookupError - -T_Attr = TypeVar("T_Attr") -T_Default = TypeVar("T_Default") -undefined = object() - - -def typed_attribute() -> Any: - """Return a unique object, used to mark typed attributes.""" - return object() - - -class TypedAttributeSet: - """ - Superclass for typed attribute collections. - - Checks that every public attribute of every subclass has a type annotation. - """ - - def __init_subclass__(cls) -> None: - annotations: dict[str, Any] = getattr(cls, "__annotations__", {}) - for attrname in dir(cls): - if not attrname.startswith("_") and attrname not in annotations: - raise TypeError( - f"Attribute {attrname!r} is missing its type annotation" - ) - - super().__init_subclass__() - - -class TypedAttributeProvider: - """Base class for classes that wish to provide typed extra attributes.""" - - @property - def extra_attributes(self) -> Mapping[T_Attr, Callable[[], T_Attr]]: - """ - A mapping of the extra attributes to callables that return the corresponding - values. - - If the provider wraps another provider, the attributes from that wrapper should - also be included in the returned mapping (but the wrapper may override the - callables from the wrapped instance). - - """ - return {} - - @overload - def extra(self, attribute: T_Attr) -> T_Attr: - ... - - @overload - def extra(self, attribute: T_Attr, default: T_Default) -> T_Attr | T_Default: - ... - - @final - def extra(self, attribute: Any, default: object = undefined) -> object: - """ - extra(attribute, default=undefined) - - Return the value of the given typed extra attribute. - - :param attribute: the attribute (member of a :class:`~TypedAttributeSet`) to - look for - :param default: the value that should be returned if no value is found for the - attribute - :raises ~anyio.TypedAttributeLookupError: if the search failed and no default - value was given - - """ - try: - return self.extra_attributes[attribute]() - except KeyError: - if default is undefined: - raise TypedAttributeLookupError("Attribute not found") from None - else: - return default diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__init__.py b/venv/lib/python3.11/site-packages/anyio/abc/__init__.py deleted file mode 100644 index 1ca0fcf..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/__init__.py +++ /dev/null @@ -1,57 +0,0 @@ -from __future__ import annotations - -from typing import Any - -from ._eventloop import AsyncBackend as AsyncBackend -from ._resources import AsyncResource as AsyncResource -from ._sockets import ConnectedUDPSocket as ConnectedUDPSocket -from ._sockets import ConnectedUNIXDatagramSocket as ConnectedUNIXDatagramSocket -from ._sockets import IPAddressType as IPAddressType -from ._sockets import IPSockAddrType as IPSockAddrType -from ._sockets import SocketAttribute as SocketAttribute -from ._sockets import SocketListener as SocketListener -from ._sockets import SocketStream as SocketStream -from ._sockets import UDPPacketType as UDPPacketType -from ._sockets import UDPSocket as UDPSocket -from ._sockets import UNIXDatagramPacketType as UNIXDatagramPacketType -from ._sockets import UNIXDatagramSocket as UNIXDatagramSocket -from ._sockets import UNIXSocketStream as UNIXSocketStream -from ._streams import AnyByteReceiveStream as AnyByteReceiveStream -from ._streams import AnyByteSendStream as AnyByteSendStream -from ._streams import AnyByteStream as AnyByteStream -from ._streams import AnyUnreliableByteReceiveStream as AnyUnreliableByteReceiveStream -from ._streams import AnyUnreliableByteSendStream as AnyUnreliableByteSendStream -from ._streams import AnyUnreliableByteStream as AnyUnreliableByteStream -from ._streams import ByteReceiveStream as ByteReceiveStream -from ._streams import ByteSendStream as ByteSendStream -from ._streams import ByteStream as ByteStream -from ._streams import Listener as Listener -from ._streams import ObjectReceiveStream as ObjectReceiveStream -from ._streams import ObjectSendStream as ObjectSendStream -from ._streams import ObjectStream as ObjectStream -from ._streams import UnreliableObjectReceiveStream as UnreliableObjectReceiveStream -from ._streams import UnreliableObjectSendStream as UnreliableObjectSendStream -from ._streams import UnreliableObjectStream as UnreliableObjectStream -from ._subprocesses import Process as Process -from ._tasks import TaskGroup as TaskGroup -from ._tasks import TaskStatus as TaskStatus -from ._testing import TestRunner as TestRunner - -# Re-exported here, for backwards compatibility -# isort: off -from .._core._synchronization import ( - CapacityLimiter as CapacityLimiter, - Condition as Condition, - Event as Event, - Lock as Lock, - Semaphore as Semaphore, -) -from .._core._tasks import CancelScope as CancelScope -from ..from_thread import BlockingPortal as BlockingPortal - -# Re-export imports so they look like they live directly in this package -key: str -value: Any -for key, value in list(locals().items()): - if getattr(value, "__module__", "").startswith("anyio.abc."): - value.__module__ = __name__ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 6a8f56a..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_eventloop.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_eventloop.cpython-311.pyc deleted file mode 100644 index 8b965b3..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_eventloop.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc deleted file mode 100644 index 36d836a..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_resources.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc deleted file mode 100644 index 2df9fcd..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_sockets.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc deleted file mode 100644 index 62e4f72..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_streams.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-311.pyc deleted file mode 100644 index 9514d3d..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_tasks.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_tasks.cpython-311.pyc deleted file mode 100644 index 3404806..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_tasks.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc deleted file mode 100644 index 73953de..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/abc/__pycache__/_testing.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_eventloop.py b/venv/lib/python3.11/site-packages/anyio/abc/_eventloop.py deleted file mode 100644 index 4470d83..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_eventloop.py +++ /dev/null @@ -1,392 +0,0 @@ -from __future__ import annotations - -import math -import sys -from abc import ABCMeta, abstractmethod -from collections.abc import AsyncIterator, Awaitable, Mapping -from os import PathLike -from signal import Signals -from socket import AddressFamily, SocketKind, socket -from typing import ( - IO, - TYPE_CHECKING, - Any, - Callable, - ContextManager, - Sequence, - TypeVar, - overload, -) - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -if TYPE_CHECKING: - from typing import Literal - - from .._core._synchronization import CapacityLimiter, Event - from .._core._tasks import CancelScope - from .._core._testing import TaskInfo - from ..from_thread import BlockingPortal - from ._sockets import ( - ConnectedUDPSocket, - ConnectedUNIXDatagramSocket, - IPSockAddrType, - SocketListener, - SocketStream, - UDPSocket, - UNIXDatagramSocket, - UNIXSocketStream, - ) - from ._subprocesses import Process - from ._tasks import TaskGroup - from ._testing import TestRunner - -T_Retval = TypeVar("T_Retval") -PosArgsT = TypeVarTuple("PosArgsT") - - -class AsyncBackend(metaclass=ABCMeta): - @classmethod - @abstractmethod - def run( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - options: dict[str, Any], - ) -> T_Retval: - """ - Run the given coroutine function in an asynchronous event loop. - - The current thread must not be already running an event loop. - - :param func: a coroutine function - :param args: positional arguments to ``func`` - :param kwargs: positional arguments to ``func`` - :param options: keyword arguments to call the backend ``run()`` implementation - with - :return: the return value of the coroutine function - """ - - @classmethod - @abstractmethod - def current_token(cls) -> object: - """ - - :return: - """ - - @classmethod - @abstractmethod - def current_time(cls) -> float: - """ - Return the current value of the event loop's internal clock. - - :return: the clock value (seconds) - """ - - @classmethod - @abstractmethod - def cancelled_exception_class(cls) -> type[BaseException]: - """Return the exception class that is raised in a task if it's cancelled.""" - - @classmethod - @abstractmethod - async def checkpoint(cls) -> None: - """ - Check if the task has been cancelled, and allow rescheduling of other tasks. - - This is effectively the same as running :meth:`checkpoint_if_cancelled` and then - :meth:`cancel_shielded_checkpoint`. - """ - - @classmethod - async def checkpoint_if_cancelled(cls) -> None: - """ - Check if the current task group has been cancelled. - - This will check if the task has been cancelled, but will not allow other tasks - to be scheduled if not. - - """ - if cls.current_effective_deadline() == -math.inf: - await cls.checkpoint() - - @classmethod - async def cancel_shielded_checkpoint(cls) -> None: - """ - Allow the rescheduling of other tasks. - - This will give other tasks the opportunity to run, but without checking if the - current task group has been cancelled, unlike with :meth:`checkpoint`. - - """ - with cls.create_cancel_scope(shield=True): - await cls.sleep(0) - - @classmethod - @abstractmethod - async def sleep(cls, delay: float) -> None: - """ - Pause the current task for the specified duration. - - :param delay: the duration, in seconds - """ - - @classmethod - @abstractmethod - def create_cancel_scope( - cls, *, deadline: float = math.inf, shield: bool = False - ) -> CancelScope: - pass - - @classmethod - @abstractmethod - def current_effective_deadline(cls) -> float: - """ - Return the nearest deadline among all the cancel scopes effective for the - current task. - - :return: - - a clock value from the event loop's internal clock - - ``inf`` if there is no deadline in effect - - ``-inf`` if the current scope has been cancelled - :rtype: float - """ - - @classmethod - @abstractmethod - def create_task_group(cls) -> TaskGroup: - pass - - @classmethod - @abstractmethod - def create_event(cls) -> Event: - pass - - @classmethod - @abstractmethod - def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: - pass - - @classmethod - @abstractmethod - async def run_sync_in_worker_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - abandon_on_cancel: bool = False, - limiter: CapacityLimiter | None = None, - ) -> T_Retval: - pass - - @classmethod - @abstractmethod - def check_cancelled(cls) -> None: - pass - - @classmethod - @abstractmethod - def run_async_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - pass - - @classmethod - @abstractmethod - def run_sync_from_thread( - cls, - func: Callable[[Unpack[PosArgsT]], T_Retval], - args: tuple[Unpack[PosArgsT]], - token: object, - ) -> T_Retval: - pass - - @classmethod - @abstractmethod - def create_blocking_portal(cls) -> BlockingPortal: - pass - - @classmethod - @overload - async def open_process( - cls, - command: str | bytes, - *, - shell: Literal[True], - stdin: int | IO[Any] | None, - stdout: int | IO[Any] | None, - stderr: int | IO[Any] | None, - cwd: str | bytes | PathLike[str] | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, - ) -> Process: - pass - - @classmethod - @overload - async def open_process( - cls, - command: Sequence[str | bytes], - *, - shell: Literal[False], - stdin: int | IO[Any] | None, - stdout: int | IO[Any] | None, - stderr: int | IO[Any] | None, - cwd: str | bytes | PathLike[str] | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, - ) -> Process: - pass - - @classmethod - @abstractmethod - async def open_process( - cls, - command: str | bytes | Sequence[str | bytes], - *, - shell: bool, - stdin: int | IO[Any] | None, - stdout: int | IO[Any] | None, - stderr: int | IO[Any] | None, - cwd: str | bytes | PathLike[str] | None = None, - env: Mapping[str, str] | None = None, - start_new_session: bool = False, - ) -> Process: - pass - - @classmethod - @abstractmethod - def setup_process_pool_exit_at_shutdown(cls, workers: set[Process]) -> None: - pass - - @classmethod - @abstractmethod - async def connect_tcp( - cls, host: str, port: int, local_address: IPSockAddrType | None = None - ) -> SocketStream: - pass - - @classmethod - @abstractmethod - async def connect_unix(cls, path: str | bytes) -> UNIXSocketStream: - pass - - @classmethod - @abstractmethod - def create_tcp_listener(cls, sock: socket) -> SocketListener: - pass - - @classmethod - @abstractmethod - def create_unix_listener(cls, sock: socket) -> SocketListener: - pass - - @classmethod - @abstractmethod - async def create_udp_socket( - cls, - family: AddressFamily, - local_address: IPSockAddrType | None, - remote_address: IPSockAddrType | None, - reuse_port: bool, - ) -> UDPSocket | ConnectedUDPSocket: - pass - - @classmethod - @overload - async def create_unix_datagram_socket( - cls, raw_socket: socket, remote_path: None - ) -> UNIXDatagramSocket: - ... - - @classmethod - @overload - async def create_unix_datagram_socket( - cls, raw_socket: socket, remote_path: str | bytes - ) -> ConnectedUNIXDatagramSocket: - ... - - @classmethod - @abstractmethod - async def create_unix_datagram_socket( - cls, raw_socket: socket, remote_path: str | bytes | None - ) -> UNIXDatagramSocket | ConnectedUNIXDatagramSocket: - pass - - @classmethod - @abstractmethod - async def getaddrinfo( - cls, - host: bytes | str | None, - port: str | int | None, - *, - family: int | AddressFamily = 0, - type: int | SocketKind = 0, - proto: int = 0, - flags: int = 0, - ) -> list[ - tuple[ - AddressFamily, - SocketKind, - int, - str, - tuple[str, int] | tuple[str, int, int, int], - ] - ]: - pass - - @classmethod - @abstractmethod - async def getnameinfo( - cls, sockaddr: IPSockAddrType, flags: int = 0 - ) -> tuple[str, str]: - pass - - @classmethod - @abstractmethod - async def wait_socket_readable(cls, sock: socket) -> None: - pass - - @classmethod - @abstractmethod - async def wait_socket_writable(cls, sock: socket) -> None: - pass - - @classmethod - @abstractmethod - def current_default_thread_limiter(cls) -> CapacityLimiter: - pass - - @classmethod - @abstractmethod - def open_signal_receiver( - cls, *signals: Signals - ) -> ContextManager[AsyncIterator[Signals]]: - pass - - @classmethod - @abstractmethod - def get_current_task(cls) -> TaskInfo: - pass - - @classmethod - @abstractmethod - def get_running_tasks(cls) -> list[TaskInfo]: - pass - - @classmethod - @abstractmethod - async def wait_all_tasks_blocked(cls) -> None: - pass - - @classmethod - @abstractmethod - def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: - pass diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_resources.py b/venv/lib/python3.11/site-packages/anyio/abc/_resources.py deleted file mode 100644 index 9693835..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_resources.py +++ /dev/null @@ -1,31 +0,0 @@ -from __future__ import annotations - -from abc import ABCMeta, abstractmethod -from types import TracebackType -from typing import TypeVar - -T = TypeVar("T") - - -class AsyncResource(metaclass=ABCMeta): - """ - Abstract base class for all closeable asynchronous resources. - - Works as an asynchronous context manager which returns the instance itself on enter, - and calls :meth:`aclose` on exit. - """ - - async def __aenter__(self: T) -> T: - return self - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - await self.aclose() - - @abstractmethod - async def aclose(self) -> None: - """Close the resource.""" diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_sockets.py b/venv/lib/python3.11/site-packages/anyio/abc/_sockets.py deleted file mode 100644 index b321225..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_sockets.py +++ /dev/null @@ -1,194 +0,0 @@ -from __future__ import annotations - -import socket -from abc import abstractmethod -from collections.abc import Callable, Collection, Mapping -from contextlib import AsyncExitStack -from io import IOBase -from ipaddress import IPv4Address, IPv6Address -from socket import AddressFamily -from types import TracebackType -from typing import Any, Tuple, TypeVar, Union - -from .._core._typedattr import ( - TypedAttributeProvider, - TypedAttributeSet, - typed_attribute, -) -from ._streams import ByteStream, Listener, UnreliableObjectStream -from ._tasks import TaskGroup - -IPAddressType = Union[str, IPv4Address, IPv6Address] -IPSockAddrType = Tuple[str, int] -SockAddrType = Union[IPSockAddrType, str] -UDPPacketType = Tuple[bytes, IPSockAddrType] -UNIXDatagramPacketType = Tuple[bytes, str] -T_Retval = TypeVar("T_Retval") - - -class _NullAsyncContextManager: - async def __aenter__(self) -> None: - pass - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - return None - - -class SocketAttribute(TypedAttributeSet): - #: the address family of the underlying socket - family: AddressFamily = typed_attribute() - #: the local socket address of the underlying socket - local_address: SockAddrType = typed_attribute() - #: for IP addresses, the local port the underlying socket is bound to - local_port: int = typed_attribute() - #: the underlying stdlib socket object - raw_socket: socket.socket = typed_attribute() - #: the remote address the underlying socket is connected to - remote_address: SockAddrType = typed_attribute() - #: for IP addresses, the remote port the underlying socket is connected to - remote_port: int = typed_attribute() - - -class _SocketProvider(TypedAttributeProvider): - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - from .._core._sockets import convert_ipv6_sockaddr as convert - - attributes: dict[Any, Callable[[], Any]] = { - SocketAttribute.family: lambda: self._raw_socket.family, - SocketAttribute.local_address: lambda: convert( - self._raw_socket.getsockname() - ), - SocketAttribute.raw_socket: lambda: self._raw_socket, - } - try: - peername: tuple[str, int] | None = convert(self._raw_socket.getpeername()) - except OSError: - peername = None - - # Provide the remote address for connected sockets - if peername is not None: - attributes[SocketAttribute.remote_address] = lambda: peername - - # Provide local and remote ports for IP based sockets - if self._raw_socket.family in (AddressFamily.AF_INET, AddressFamily.AF_INET6): - attributes[SocketAttribute.local_port] = ( - lambda: self._raw_socket.getsockname()[1] - ) - if peername is not None: - remote_port = peername[1] - attributes[SocketAttribute.remote_port] = lambda: remote_port - - return attributes - - @property - @abstractmethod - def _raw_socket(self) -> socket.socket: - pass - - -class SocketStream(ByteStream, _SocketProvider): - """ - Transports bytes over a socket. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ - - -class UNIXSocketStream(SocketStream): - @abstractmethod - async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: - """ - Send file descriptors along with a message to the peer. - - :param message: a non-empty bytestring - :param fds: a collection of files (either numeric file descriptors or open file - or socket objects) - """ - - @abstractmethod - async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: - """ - Receive file descriptors along with a message from the peer. - - :param msglen: length of the message to expect from the peer - :param maxfds: maximum number of file descriptors to expect from the peer - :return: a tuple of (message, file descriptors) - """ - - -class SocketListener(Listener[SocketStream], _SocketProvider): - """ - Listens to incoming socket connections. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ - - @abstractmethod - async def accept(self) -> SocketStream: - """Accept an incoming connection.""" - - async def serve( - self, - handler: Callable[[SocketStream], Any], - task_group: TaskGroup | None = None, - ) -> None: - from .. import create_task_group - - async with AsyncExitStack() as stack: - if task_group is None: - task_group = await stack.enter_async_context(create_task_group()) - - while True: - stream = await self.accept() - task_group.start_soon(handler, stream) - - -class UDPSocket(UnreliableObjectStream[UDPPacketType], _SocketProvider): - """ - Represents an unconnected UDP socket. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ - - async def sendto(self, data: bytes, host: str, port: int) -> None: - """ - Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))). - - """ - return await self.send((data, (host, port))) - - -class ConnectedUDPSocket(UnreliableObjectStream[bytes], _SocketProvider): - """ - Represents an connected UDP socket. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ - - -class UNIXDatagramSocket( - UnreliableObjectStream[UNIXDatagramPacketType], _SocketProvider -): - """ - Represents an unconnected Unix datagram socket. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ - - async def sendto(self, data: bytes, path: str) -> None: - """Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).""" - return await self.send((data, path)) - - -class ConnectedUNIXDatagramSocket(UnreliableObjectStream[bytes], _SocketProvider): - """ - Represents a connected Unix datagram socket. - - Supports all relevant extra attributes from :class:`~SocketAttribute`. - """ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_streams.py b/venv/lib/python3.11/site-packages/anyio/abc/_streams.py deleted file mode 100644 index 8c63868..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_streams.py +++ /dev/null @@ -1,203 +0,0 @@ -from __future__ import annotations - -from abc import abstractmethod -from collections.abc import Callable -from typing import Any, Generic, TypeVar, Union - -from .._core._exceptions import EndOfStream -from .._core._typedattr import TypedAttributeProvider -from ._resources import AsyncResource -from ._tasks import TaskGroup - -T_Item = TypeVar("T_Item") -T_co = TypeVar("T_co", covariant=True) -T_contra = TypeVar("T_contra", contravariant=True) - - -class UnreliableObjectReceiveStream( - Generic[T_co], AsyncResource, TypedAttributeProvider -): - """ - An interface for receiving objects. - - This interface makes no guarantees that the received messages arrive in the order in - which they were sent, or that no messages are missed. - - Asynchronously iterating over objects of this type will yield objects matching the - given type parameter. - """ - - def __aiter__(self) -> UnreliableObjectReceiveStream[T_co]: - return self - - async def __anext__(self) -> T_co: - try: - return await self.receive() - except EndOfStream: - raise StopAsyncIteration - - @abstractmethod - async def receive(self) -> T_co: - """ - Receive the next item. - - :raises ~anyio.ClosedResourceError: if the receive stream has been explicitly - closed - :raises ~anyio.EndOfStream: if this stream has been closed from the other end - :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable - due to external causes - """ - - -class UnreliableObjectSendStream( - Generic[T_contra], AsyncResource, TypedAttributeProvider -): - """ - An interface for sending objects. - - This interface makes no guarantees that the messages sent will reach the - recipient(s) in the same order in which they were sent, or at all. - """ - - @abstractmethod - async def send(self, item: T_contra) -> None: - """ - Send an item to the peer(s). - - :param item: the item to send - :raises ~anyio.ClosedResourceError: if the send stream has been explicitly - closed - :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable - due to external causes - """ - - -class UnreliableObjectStream( - UnreliableObjectReceiveStream[T_Item], UnreliableObjectSendStream[T_Item] -): - """ - A bidirectional message stream which does not guarantee the order or reliability of - message delivery. - """ - - -class ObjectReceiveStream(UnreliableObjectReceiveStream[T_co]): - """ - A receive message stream which guarantees that messages are received in the same - order in which they were sent, and that no messages are missed. - """ - - -class ObjectSendStream(UnreliableObjectSendStream[T_contra]): - """ - A send message stream which guarantees that messages are delivered in the same order - in which they were sent, without missing any messages in the middle. - """ - - -class ObjectStream( - ObjectReceiveStream[T_Item], - ObjectSendStream[T_Item], - UnreliableObjectStream[T_Item], -): - """ - A bidirectional message stream which guarantees the order and reliability of message - delivery. - """ - - @abstractmethod - async def send_eof(self) -> None: - """ - Send an end-of-file indication to the peer. - - You should not try to send any further data to this stream after calling this - method. This method is idempotent (does nothing on successive calls). - """ - - -class ByteReceiveStream(AsyncResource, TypedAttributeProvider): - """ - An interface for receiving bytes from a single peer. - - Iterating this byte stream will yield a byte string of arbitrary length, but no more - than 65536 bytes. - """ - - def __aiter__(self) -> ByteReceiveStream: - return self - - async def __anext__(self) -> bytes: - try: - return await self.receive() - except EndOfStream: - raise StopAsyncIteration - - @abstractmethod - async def receive(self, max_bytes: int = 65536) -> bytes: - """ - Receive at most ``max_bytes`` bytes from the peer. - - .. note:: Implementors of this interface should not return an empty - :class:`bytes` object, and users should ignore them. - - :param max_bytes: maximum number of bytes to receive - :return: the received bytes - :raises ~anyio.EndOfStream: if this stream has been closed from the other end - """ - - -class ByteSendStream(AsyncResource, TypedAttributeProvider): - """An interface for sending bytes to a single peer.""" - - @abstractmethod - async def send(self, item: bytes) -> None: - """ - Send the given bytes to the peer. - - :param item: the bytes to send - """ - - -class ByteStream(ByteReceiveStream, ByteSendStream): - """A bidirectional byte stream.""" - - @abstractmethod - async def send_eof(self) -> None: - """ - Send an end-of-file indication to the peer. - - You should not try to send any further data to this stream after calling this - method. This method is idempotent (does nothing on successive calls). - """ - - -#: Type alias for all unreliable bytes-oriented receive streams. -AnyUnreliableByteReceiveStream = Union[ - UnreliableObjectReceiveStream[bytes], ByteReceiveStream -] -#: Type alias for all unreliable bytes-oriented send streams. -AnyUnreliableByteSendStream = Union[UnreliableObjectSendStream[bytes], ByteSendStream] -#: Type alias for all unreliable bytes-oriented streams. -AnyUnreliableByteStream = Union[UnreliableObjectStream[bytes], ByteStream] -#: Type alias for all bytes-oriented receive streams. -AnyByteReceiveStream = Union[ObjectReceiveStream[bytes], ByteReceiveStream] -#: Type alias for all bytes-oriented send streams. -AnyByteSendStream = Union[ObjectSendStream[bytes], ByteSendStream] -#: Type alias for all bytes-oriented streams. -AnyByteStream = Union[ObjectStream[bytes], ByteStream] - - -class Listener(Generic[T_co], AsyncResource, TypedAttributeProvider): - """An interface for objects that let you accept incoming connections.""" - - @abstractmethod - async def serve( - self, handler: Callable[[T_co], Any], task_group: TaskGroup | None = None - ) -> None: - """ - Accept incoming connections as they come in and start tasks to handle them. - - :param handler: a callable that will be used to handle each accepted connection - :param task_group: the task group that will be used to start tasks for handling - each accepted connection (if omitted, an ad-hoc task group will be created) - """ diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py b/venv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py deleted file mode 100644 index ce0564c..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_subprocesses.py +++ /dev/null @@ -1,79 +0,0 @@ -from __future__ import annotations - -from abc import abstractmethod -from signal import Signals - -from ._resources import AsyncResource -from ._streams import ByteReceiveStream, ByteSendStream - - -class Process(AsyncResource): - """An asynchronous version of :class:`subprocess.Popen`.""" - - @abstractmethod - async def wait(self) -> int: - """ - Wait until the process exits. - - :return: the exit code of the process - """ - - @abstractmethod - def terminate(self) -> None: - """ - Terminates the process, gracefully if possible. - - On Windows, this calls ``TerminateProcess()``. - On POSIX systems, this sends ``SIGTERM`` to the process. - - .. seealso:: :meth:`subprocess.Popen.terminate` - """ - - @abstractmethod - def kill(self) -> None: - """ - Kills the process. - - On Windows, this calls ``TerminateProcess()``. - On POSIX systems, this sends ``SIGKILL`` to the process. - - .. seealso:: :meth:`subprocess.Popen.kill` - """ - - @abstractmethod - def send_signal(self, signal: Signals) -> None: - """ - Send a signal to the subprocess. - - .. seealso:: :meth:`subprocess.Popen.send_signal` - - :param signal: the signal number (e.g. :data:`signal.SIGHUP`) - """ - - @property - @abstractmethod - def pid(self) -> int: - """The process ID of the process.""" - - @property - @abstractmethod - def returncode(self) -> int | None: - """ - The return code of the process. If the process has not yet terminated, this will - be ``None``. - """ - - @property - @abstractmethod - def stdin(self) -> ByteSendStream | None: - """The stream for the standard input of the process.""" - - @property - @abstractmethod - def stdout(self) -> ByteReceiveStream | None: - """The stream for the standard output of the process.""" - - @property - @abstractmethod - def stderr(self) -> ByteReceiveStream | None: - """The stream for the standard error output of the process.""" diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_tasks.py b/venv/lib/python3.11/site-packages/anyio/abc/_tasks.py deleted file mode 100644 index 7ad4938..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_tasks.py +++ /dev/null @@ -1,97 +0,0 @@ -from __future__ import annotations - -import sys -from abc import ABCMeta, abstractmethod -from collections.abc import Awaitable, Callable -from types import TracebackType -from typing import TYPE_CHECKING, Any, Protocol, TypeVar, overload - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -if TYPE_CHECKING: - from .._core._tasks import CancelScope - -T_Retval = TypeVar("T_Retval") -T_contra = TypeVar("T_contra", contravariant=True) -PosArgsT = TypeVarTuple("PosArgsT") - - -class TaskStatus(Protocol[T_contra]): - @overload - def started(self: TaskStatus[None]) -> None: - ... - - @overload - def started(self, value: T_contra) -> None: - ... - - def started(self, value: T_contra | None = None) -> None: - """ - Signal that the task has started. - - :param value: object passed back to the starter of the task - """ - - -class TaskGroup(metaclass=ABCMeta): - """ - Groups several asynchronous tasks together. - - :ivar cancel_scope: the cancel scope inherited by all child tasks - :vartype cancel_scope: CancelScope - """ - - cancel_scope: CancelScope - - @abstractmethod - def start_soon( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], - *args: Unpack[PosArgsT], - name: object = None, - ) -> None: - """ - Start a new task in this task group. - - :param func: a coroutine function - :param args: positional arguments to call the function with - :param name: name of the task, for the purposes of introspection and debugging - - .. versionadded:: 3.0 - """ - - @abstractmethod - async def start( - self, - func: Callable[..., Awaitable[Any]], - *args: object, - name: object = None, - ) -> Any: - """ - Start a new task and wait until it signals for readiness. - - :param func: a coroutine function - :param args: positional arguments to call the function with - :param name: name of the task, for the purposes of introspection and debugging - :return: the value passed to ``task_status.started()`` - :raises RuntimeError: if the task finishes without calling - ``task_status.started()`` - - .. versionadded:: 3.0 - """ - - @abstractmethod - async def __aenter__(self) -> TaskGroup: - """Enter the task group context and allow starting new tasks.""" - - @abstractmethod - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - """Exit the task group context waiting for all tasks to finish.""" diff --git a/venv/lib/python3.11/site-packages/anyio/abc/_testing.py b/venv/lib/python3.11/site-packages/anyio/abc/_testing.py deleted file mode 100644 index 4d70b9e..0000000 --- a/venv/lib/python3.11/site-packages/anyio/abc/_testing.py +++ /dev/null @@ -1,66 +0,0 @@ -from __future__ import annotations - -import types -from abc import ABCMeta, abstractmethod -from collections.abc import AsyncGenerator, Callable, Coroutine, Iterable -from typing import Any, TypeVar - -_T = TypeVar("_T") - - -class TestRunner(metaclass=ABCMeta): - """ - Encapsulates a running event loop. Every call made through this object will use the - same event loop. - """ - - def __enter__(self) -> TestRunner: - return self - - @abstractmethod - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: types.TracebackType | None, - ) -> bool | None: - ... - - @abstractmethod - def run_asyncgen_fixture( - self, - fixture_func: Callable[..., AsyncGenerator[_T, Any]], - kwargs: dict[str, Any], - ) -> Iterable[_T]: - """ - Run an async generator fixture. - - :param fixture_func: the fixture function - :param kwargs: keyword arguments to call the fixture function with - :return: an iterator yielding the value yielded from the async generator - """ - - @abstractmethod - def run_fixture( - self, - fixture_func: Callable[..., Coroutine[Any, Any, _T]], - kwargs: dict[str, Any], - ) -> _T: - """ - Run an async fixture. - - :param fixture_func: the fixture function - :param kwargs: keyword arguments to call the fixture function with - :return: the return value of the fixture function - """ - - @abstractmethod - def run_test( - self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] - ) -> None: - """ - Run an async test function. - - :param test_func: the test function - :param kwargs: keyword arguments to call the test function with - """ diff --git a/venv/lib/python3.11/site-packages/anyio/from_thread.py b/venv/lib/python3.11/site-packages/anyio/from_thread.py deleted file mode 100644 index 4a98703..0000000 --- a/venv/lib/python3.11/site-packages/anyio/from_thread.py +++ /dev/null @@ -1,476 +0,0 @@ -from __future__ import annotations - -import sys -import threading -from collections.abc import Awaitable, Callable, Generator -from concurrent.futures import FIRST_COMPLETED, Future, ThreadPoolExecutor, wait -from contextlib import AbstractContextManager, contextmanager -from inspect import isawaitable -from types import TracebackType -from typing import ( - Any, - AsyncContextManager, - ContextManager, - Generic, - Iterable, - TypeVar, - cast, - overload, -) - -from ._core import _eventloop -from ._core._eventloop import get_async_backend, get_cancelled_exc_class, threadlocals -from ._core._synchronization import Event -from ._core._tasks import CancelScope, create_task_group -from .abc import AsyncBackend -from .abc._tasks import TaskStatus - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -T_Retval = TypeVar("T_Retval") -T_co = TypeVar("T_co", covariant=True) -PosArgsT = TypeVarTuple("PosArgsT") - - -def run( - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], *args: Unpack[PosArgsT] -) -> T_Retval: - """ - Call a coroutine function from a worker thread. - - :param func: a coroutine function - :param args: positional arguments for the callable - :return: the return value of the coroutine function - - """ - try: - async_backend = threadlocals.current_async_backend - token = threadlocals.current_token - except AttributeError: - raise RuntimeError( - "This function can only be run from an AnyIO worker thread" - ) from None - - return async_backend.run_async_from_thread(func, args, token=token) - - -def run_sync( - func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] -) -> T_Retval: - """ - Call a function in the event loop thread from a worker thread. - - :param func: a callable - :param args: positional arguments for the callable - :return: the return value of the callable - - """ - try: - async_backend = threadlocals.current_async_backend - token = threadlocals.current_token - except AttributeError: - raise RuntimeError( - "This function can only be run from an AnyIO worker thread" - ) from None - - return async_backend.run_sync_from_thread(func, args, token=token) - - -class _BlockingAsyncContextManager(Generic[T_co], AbstractContextManager): - _enter_future: Future[T_co] - _exit_future: Future[bool | None] - _exit_event: Event - _exit_exc_info: tuple[ - type[BaseException] | None, BaseException | None, TracebackType | None - ] = (None, None, None) - - def __init__(self, async_cm: AsyncContextManager[T_co], portal: BlockingPortal): - self._async_cm = async_cm - self._portal = portal - - async def run_async_cm(self) -> bool | None: - try: - self._exit_event = Event() - value = await self._async_cm.__aenter__() - except BaseException as exc: - self._enter_future.set_exception(exc) - raise - else: - self._enter_future.set_result(value) - - try: - # Wait for the sync context manager to exit. - # This next statement can raise `get_cancelled_exc_class()` if - # something went wrong in a task group in this async context - # manager. - await self._exit_event.wait() - finally: - # In case of cancellation, it could be that we end up here before - # `_BlockingAsyncContextManager.__exit__` is called, and an - # `_exit_exc_info` has been set. - result = await self._async_cm.__aexit__(*self._exit_exc_info) - return result - - def __enter__(self) -> T_co: - self._enter_future = Future() - self._exit_future = self._portal.start_task_soon(self.run_async_cm) - return self._enter_future.result() - - def __exit__( - self, - __exc_type: type[BaseException] | None, - __exc_value: BaseException | None, - __traceback: TracebackType | None, - ) -> bool | None: - self._exit_exc_info = __exc_type, __exc_value, __traceback - self._portal.call(self._exit_event.set) - return self._exit_future.result() - - -class _BlockingPortalTaskStatus(TaskStatus): - def __init__(self, future: Future): - self._future = future - - def started(self, value: object = None) -> None: - self._future.set_result(value) - - -class BlockingPortal: - """An object that lets external threads run code in an asynchronous event loop.""" - - def __new__(cls) -> BlockingPortal: - return get_async_backend().create_blocking_portal() - - def __init__(self) -> None: - self._event_loop_thread_id: int | None = threading.get_ident() - self._stop_event = Event() - self._task_group = create_task_group() - self._cancelled_exc_class = get_cancelled_exc_class() - - async def __aenter__(self) -> BlockingPortal: - await self._task_group.__aenter__() - return self - - async def __aexit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> bool | None: - await self.stop() - return await self._task_group.__aexit__(exc_type, exc_val, exc_tb) - - def _check_running(self) -> None: - if self._event_loop_thread_id is None: - raise RuntimeError("This portal is not running") - if self._event_loop_thread_id == threading.get_ident(): - raise RuntimeError( - "This method cannot be called from the event loop thread" - ) - - async def sleep_until_stopped(self) -> None: - """Sleep until :meth:`stop` is called.""" - await self._stop_event.wait() - - async def stop(self, cancel_remaining: bool = False) -> None: - """ - Signal the portal to shut down. - - This marks the portal as no longer accepting new calls and exits from - :meth:`sleep_until_stopped`. - - :param cancel_remaining: ``True`` to cancel all the remaining tasks, ``False`` - to let them finish before returning - - """ - self._event_loop_thread_id = None - self._stop_event.set() - if cancel_remaining: - self._task_group.cancel_scope.cancel() - - async def _call_func( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - future: Future[T_Retval], - ) -> None: - def callback(f: Future[T_Retval]) -> None: - if f.cancelled() and self._event_loop_thread_id not in ( - None, - threading.get_ident(), - ): - self.call(scope.cancel) - - try: - retval_or_awaitable = func(*args, **kwargs) - if isawaitable(retval_or_awaitable): - with CancelScope() as scope: - if future.cancelled(): - scope.cancel() - else: - future.add_done_callback(callback) - - retval = await retval_or_awaitable - else: - retval = retval_or_awaitable - except self._cancelled_exc_class: - future.cancel() - future.set_running_or_notify_cancel() - except BaseException as exc: - if not future.cancelled(): - future.set_exception(exc) - - # Let base exceptions fall through - if not isinstance(exc, Exception): - raise - else: - if not future.cancelled(): - future.set_result(retval) - finally: - scope = None # type: ignore[assignment] - - def _spawn_task_from_thread( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - args: tuple[Unpack[PosArgsT]], - kwargs: dict[str, Any], - name: object, - future: Future[T_Retval], - ) -> None: - """ - Spawn a new task using the given callable. - - Implementors must ensure that the future is resolved when the task finishes. - - :param func: a callable - :param args: positional arguments to be passed to the callable - :param kwargs: keyword arguments to be passed to the callable - :param name: name of the task (will be coerced to a string if not ``None``) - :param future: a future that will resolve to the return value of the callable, - or the exception raised during its execution - - """ - raise NotImplementedError - - @overload - def call( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - *args: Unpack[PosArgsT], - ) -> T_Retval: - ... - - @overload - def call( - self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] - ) -> T_Retval: - ... - - def call( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - *args: Unpack[PosArgsT], - ) -> T_Retval: - """ - Call the given function in the event loop thread. - - If the callable returns a coroutine object, it is awaited on. - - :param func: any callable - :raises RuntimeError: if the portal is not running or if this method is called - from within the event loop thread - - """ - return cast(T_Retval, self.start_task_soon(func, *args).result()) - - @overload - def start_task_soon( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], - *args: Unpack[PosArgsT], - name: object = None, - ) -> Future[T_Retval]: - ... - - @overload - def start_task_soon( - self, - func: Callable[[Unpack[PosArgsT]], T_Retval], - *args: Unpack[PosArgsT], - name: object = None, - ) -> Future[T_Retval]: - ... - - def start_task_soon( - self, - func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], - *args: Unpack[PosArgsT], - name: object = None, - ) -> Future[T_Retval]: - """ - Start a task in the portal's task group. - - The task will be run inside a cancel scope which can be cancelled by cancelling - the returned future. - - :param func: the target function - :param args: positional arguments passed to ``func`` - :param name: name of the task (will be coerced to a string if not ``None``) - :return: a future that resolves with the return value of the callable if the - task completes successfully, or with the exception raised in the task - :raises RuntimeError: if the portal is not running or if this method is called - from within the event loop thread - :rtype: concurrent.futures.Future[T_Retval] - - .. versionadded:: 3.0 - - """ - self._check_running() - f: Future[T_Retval] = Future() - self._spawn_task_from_thread(func, args, {}, name, f) - return f - - def start_task( - self, - func: Callable[..., Awaitable[T_Retval]], - *args: object, - name: object = None, - ) -> tuple[Future[T_Retval], Any]: - """ - Start a task in the portal's task group and wait until it signals for readiness. - - This method works the same way as :meth:`.abc.TaskGroup.start`. - - :param func: the target function - :param args: positional arguments passed to ``func`` - :param name: name of the task (will be coerced to a string if not ``None``) - :return: a tuple of (future, task_status_value) where the ``task_status_value`` - is the value passed to ``task_status.started()`` from within the target - function - :rtype: tuple[concurrent.futures.Future[T_Retval], Any] - - .. versionadded:: 3.0 - - """ - - def task_done(future: Future[T_Retval]) -> None: - if not task_status_future.done(): - if future.cancelled(): - task_status_future.cancel() - elif future.exception(): - task_status_future.set_exception(future.exception()) - else: - exc = RuntimeError( - "Task exited without calling task_status.started()" - ) - task_status_future.set_exception(exc) - - self._check_running() - task_status_future: Future = Future() - task_status = _BlockingPortalTaskStatus(task_status_future) - f: Future = Future() - f.add_done_callback(task_done) - self._spawn_task_from_thread(func, args, {"task_status": task_status}, name, f) - return f, task_status_future.result() - - def wrap_async_context_manager( - self, cm: AsyncContextManager[T_co] - ) -> ContextManager[T_co]: - """ - Wrap an async context manager as a synchronous context manager via this portal. - - Spawns a task that will call both ``__aenter__()`` and ``__aexit__()``, stopping - in the middle until the synchronous context manager exits. - - :param cm: an asynchronous context manager - :return: a synchronous context manager - - .. versionadded:: 2.1 - - """ - return _BlockingAsyncContextManager(cm, self) - - -@contextmanager -def start_blocking_portal( - backend: str = "asyncio", backend_options: dict[str, Any] | None = None -) -> Generator[BlockingPortal, Any, None]: - """ - Start a new event loop in a new thread and run a blocking portal in its main task. - - The parameters are the same as for :func:`~anyio.run`. - - :param backend: name of the backend - :param backend_options: backend options - :return: a context manager that yields a blocking portal - - .. versionchanged:: 3.0 - Usage as a context manager is now required. - - """ - - async def run_portal() -> None: - async with BlockingPortal() as portal_: - if future.set_running_or_notify_cancel(): - future.set_result(portal_) - await portal_.sleep_until_stopped() - - future: Future[BlockingPortal] = Future() - with ThreadPoolExecutor(1) as executor: - run_future = executor.submit( - _eventloop.run, # type: ignore[arg-type] - run_portal, - backend=backend, - backend_options=backend_options, - ) - try: - wait( - cast(Iterable[Future], [run_future, future]), - return_when=FIRST_COMPLETED, - ) - except BaseException: - future.cancel() - run_future.cancel() - raise - - if future.done(): - portal = future.result() - cancel_remaining_tasks = False - try: - yield portal - except BaseException: - cancel_remaining_tasks = True - raise - finally: - try: - portal.call(portal.stop, cancel_remaining_tasks) - except RuntimeError: - pass - - run_future.result() - - -def check_cancelled() -> None: - """ - Check if the cancel scope of the host task's running the current worker thread has - been cancelled. - - If the host task's current cancel scope has indeed been cancelled, the - backend-specific cancellation exception will be raised. - - :raises RuntimeError: if the current thread was not spawned by - :func:`.to_thread.run_sync` - - """ - try: - async_backend: AsyncBackend = threadlocals.current_async_backend - except AttributeError: - raise RuntimeError( - "This function can only be run from an AnyIO worker thread" - ) from None - - async_backend.check_cancelled() diff --git a/venv/lib/python3.11/site-packages/anyio/lowlevel.py b/venv/lib/python3.11/site-packages/anyio/lowlevel.py deleted file mode 100644 index a9e10f4..0000000 --- a/venv/lib/python3.11/site-packages/anyio/lowlevel.py +++ /dev/null @@ -1,163 +0,0 @@ -from __future__ import annotations - -import enum -from dataclasses import dataclass -from typing import Any, Generic, Literal, TypeVar, overload -from weakref import WeakKeyDictionary - -from ._core._eventloop import get_async_backend - -T = TypeVar("T") -D = TypeVar("D") - - -async def checkpoint() -> None: - """ - Check for cancellation and allow the scheduler to switch to another task. - - Equivalent to (but more efficient than):: - - await checkpoint_if_cancelled() - await cancel_shielded_checkpoint() - - - .. versionadded:: 3.0 - - """ - await get_async_backend().checkpoint() - - -async def checkpoint_if_cancelled() -> None: - """ - Enter a checkpoint if the enclosing cancel scope has been cancelled. - - This does not allow the scheduler to switch to a different task. - - .. versionadded:: 3.0 - - """ - await get_async_backend().checkpoint_if_cancelled() - - -async def cancel_shielded_checkpoint() -> None: - """ - Allow the scheduler to switch to another task but without checking for cancellation. - - Equivalent to (but potentially more efficient than):: - - with CancelScope(shield=True): - await checkpoint() - - - .. versionadded:: 3.0 - - """ - await get_async_backend().cancel_shielded_checkpoint() - - -def current_token() -> object: - """ - Return a backend specific token object that can be used to get back to the event - loop. - - """ - return get_async_backend().current_token() - - -_run_vars: WeakKeyDictionary[Any, dict[str, Any]] = WeakKeyDictionary() -_token_wrappers: dict[Any, _TokenWrapper] = {} - - -@dataclass(frozen=True) -class _TokenWrapper: - __slots__ = "_token", "__weakref__" - _token: object - - -class _NoValueSet(enum.Enum): - NO_VALUE_SET = enum.auto() - - -class RunvarToken(Generic[T]): - __slots__ = "_var", "_value", "_redeemed" - - def __init__(self, var: RunVar[T], value: T | Literal[_NoValueSet.NO_VALUE_SET]): - self._var = var - self._value: T | Literal[_NoValueSet.NO_VALUE_SET] = value - self._redeemed = False - - -class RunVar(Generic[T]): - """ - Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop. - """ - - __slots__ = "_name", "_default" - - NO_VALUE_SET: Literal[_NoValueSet.NO_VALUE_SET] = _NoValueSet.NO_VALUE_SET - - _token_wrappers: set[_TokenWrapper] = set() - - def __init__( - self, name: str, default: T | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET - ): - self._name = name - self._default = default - - @property - def _current_vars(self) -> dict[str, T]: - token = current_token() - try: - return _run_vars[token] - except KeyError: - run_vars = _run_vars[token] = {} - return run_vars - - @overload - def get(self, default: D) -> T | D: - ... - - @overload - def get(self) -> T: - ... - - def get( - self, default: D | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET - ) -> T | D: - try: - return self._current_vars[self._name] - except KeyError: - if default is not RunVar.NO_VALUE_SET: - return default - elif self._default is not RunVar.NO_VALUE_SET: - return self._default - - raise LookupError( - f'Run variable "{self._name}" has no value and no default set' - ) - - def set(self, value: T) -> RunvarToken[T]: - current_vars = self._current_vars - token = RunvarToken(self, current_vars.get(self._name, RunVar.NO_VALUE_SET)) - current_vars[self._name] = value - return token - - def reset(self, token: RunvarToken[T]) -> None: - if token._var is not self: - raise ValueError("This token does not belong to this RunVar") - - if token._redeemed: - raise ValueError("This token has already been used") - - if token._value is _NoValueSet.NO_VALUE_SET: - try: - del self._current_vars[self._name] - except KeyError: - pass - else: - self._current_vars[self._name] = token._value - - token._redeemed = True - - def __repr__(self) -> str: - return f"" diff --git a/venv/lib/python3.11/site-packages/anyio/py.typed b/venv/lib/python3.11/site-packages/anyio/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/anyio/pytest_plugin.py b/venv/lib/python3.11/site-packages/anyio/pytest_plugin.py deleted file mode 100644 index a8dd6f3..0000000 --- a/venv/lib/python3.11/site-packages/anyio/pytest_plugin.py +++ /dev/null @@ -1,149 +0,0 @@ -from __future__ import annotations - -from collections.abc import Iterator -from contextlib import ExitStack, contextmanager -from inspect import isasyncgenfunction, iscoroutinefunction -from typing import Any, Dict, Tuple, cast - -import pytest -import sniffio - -from ._core._eventloop import get_all_backends, get_async_backend -from .abc import TestRunner - -_current_runner: TestRunner | None = None -_runner_stack: ExitStack | None = None -_runner_leases = 0 - - -def extract_backend_and_options(backend: object) -> tuple[str, dict[str, Any]]: - if isinstance(backend, str): - return backend, {} - elif isinstance(backend, tuple) and len(backend) == 2: - if isinstance(backend[0], str) and isinstance(backend[1], dict): - return cast(Tuple[str, Dict[str, Any]], backend) - - raise TypeError("anyio_backend must be either a string or tuple of (string, dict)") - - -@contextmanager -def get_runner( - backend_name: str, backend_options: dict[str, Any] -) -> Iterator[TestRunner]: - global _current_runner, _runner_leases, _runner_stack - if _current_runner is None: - asynclib = get_async_backend(backend_name) - _runner_stack = ExitStack() - if sniffio.current_async_library_cvar.get(None) is None: - # Since we're in control of the event loop, we can cache the name of the - # async library - token = sniffio.current_async_library_cvar.set(backend_name) - _runner_stack.callback(sniffio.current_async_library_cvar.reset, token) - - backend_options = backend_options or {} - _current_runner = _runner_stack.enter_context( - asynclib.create_test_runner(backend_options) - ) - - _runner_leases += 1 - try: - yield _current_runner - finally: - _runner_leases -= 1 - if not _runner_leases: - assert _runner_stack is not None - _runner_stack.close() - _runner_stack = _current_runner = None - - -def pytest_configure(config: Any) -> None: - config.addinivalue_line( - "markers", - "anyio: mark the (coroutine function) test to be run " - "asynchronously via anyio.", - ) - - -def pytest_fixture_setup(fixturedef: Any, request: Any) -> None: - def wrapper(*args, anyio_backend, **kwargs): # type: ignore[no-untyped-def] - backend_name, backend_options = extract_backend_and_options(anyio_backend) - if has_backend_arg: - kwargs["anyio_backend"] = anyio_backend - - with get_runner(backend_name, backend_options) as runner: - if isasyncgenfunction(func): - yield from runner.run_asyncgen_fixture(func, kwargs) - else: - yield runner.run_fixture(func, kwargs) - - # Only apply this to coroutine functions and async generator functions in requests - # that involve the anyio_backend fixture - func = fixturedef.func - if isasyncgenfunction(func) or iscoroutinefunction(func): - if "anyio_backend" in request.fixturenames: - has_backend_arg = "anyio_backend" in fixturedef.argnames - fixturedef.func = wrapper - if not has_backend_arg: - fixturedef.argnames += ("anyio_backend",) - - -@pytest.hookimpl(tryfirst=True) -def pytest_pycollect_makeitem(collector: Any, name: Any, obj: Any) -> None: - if collector.istestfunction(obj, name): - inner_func = obj.hypothesis.inner_test if hasattr(obj, "hypothesis") else obj - if iscoroutinefunction(inner_func): - marker = collector.get_closest_marker("anyio") - own_markers = getattr(obj, "pytestmark", ()) - if marker or any(marker.name == "anyio" for marker in own_markers): - pytest.mark.usefixtures("anyio_backend")(obj) - - -@pytest.hookimpl(tryfirst=True) -def pytest_pyfunc_call(pyfuncitem: Any) -> bool | None: - def run_with_hypothesis(**kwargs: Any) -> None: - with get_runner(backend_name, backend_options) as runner: - runner.run_test(original_func, kwargs) - - backend = pyfuncitem.funcargs.get("anyio_backend") - if backend: - backend_name, backend_options = extract_backend_and_options(backend) - - if hasattr(pyfuncitem.obj, "hypothesis"): - # Wrap the inner test function unless it's already wrapped - original_func = pyfuncitem.obj.hypothesis.inner_test - if original_func.__qualname__ != run_with_hypothesis.__qualname__: - if iscoroutinefunction(original_func): - pyfuncitem.obj.hypothesis.inner_test = run_with_hypothesis - - return None - - if iscoroutinefunction(pyfuncitem.obj): - funcargs = pyfuncitem.funcargs - testargs = {arg: funcargs[arg] for arg in pyfuncitem._fixtureinfo.argnames} - with get_runner(backend_name, backend_options) as runner: - runner.run_test(pyfuncitem.obj, testargs) - - return True - - return None - - -@pytest.fixture(scope="module", params=get_all_backends()) -def anyio_backend(request: Any) -> Any: - return request.param - - -@pytest.fixture -def anyio_backend_name(anyio_backend: Any) -> str: - if isinstance(anyio_backend, str): - return anyio_backend - else: - return anyio_backend[0] - - -@pytest.fixture -def anyio_backend_options(anyio_backend: Any) -> dict[str, Any]: - if isinstance(anyio_backend, str): - return {} - else: - return anyio_backend[1] diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__init__.py b/venv/lib/python3.11/site-packages/anyio/streams/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 6e021f2..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc deleted file mode 100644 index f092e5e..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/buffered.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/file.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/file.cpython-311.pyc deleted file mode 100644 index c900e65..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/file.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc deleted file mode 100644 index 18b1a6a..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/memory.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/stapled.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/stapled.cpython-311.pyc deleted file mode 100644 index e87e2c4..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/stapled.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc deleted file mode 100644 index f43704b..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/text.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/tls.cpython-311.pyc b/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/tls.cpython-311.pyc deleted file mode 100644 index f2b786c..0000000 Binary files a/venv/lib/python3.11/site-packages/anyio/streams/__pycache__/tls.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/anyio/streams/buffered.py b/venv/lib/python3.11/site-packages/anyio/streams/buffered.py deleted file mode 100644 index f5d5e83..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/buffered.py +++ /dev/null @@ -1,119 +0,0 @@ -from __future__ import annotations - -from collections.abc import Callable, Mapping -from dataclasses import dataclass, field -from typing import Any - -from .. import ClosedResourceError, DelimiterNotFound, EndOfStream, IncompleteRead -from ..abc import AnyByteReceiveStream, ByteReceiveStream - - -@dataclass(eq=False) -class BufferedByteReceiveStream(ByteReceiveStream): - """ - Wraps any bytes-based receive stream and uses a buffer to provide sophisticated - receiving capabilities in the form of a byte stream. - """ - - receive_stream: AnyByteReceiveStream - _buffer: bytearray = field(init=False, default_factory=bytearray) - _closed: bool = field(init=False, default=False) - - async def aclose(self) -> None: - await self.receive_stream.aclose() - self._closed = True - - @property - def buffer(self) -> bytes: - """The bytes currently in the buffer.""" - return bytes(self._buffer) - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return self.receive_stream.extra_attributes - - async def receive(self, max_bytes: int = 65536) -> bytes: - if self._closed: - raise ClosedResourceError - - if self._buffer: - chunk = bytes(self._buffer[:max_bytes]) - del self._buffer[:max_bytes] - return chunk - elif isinstance(self.receive_stream, ByteReceiveStream): - return await self.receive_stream.receive(max_bytes) - else: - # With a bytes-oriented object stream, we need to handle any surplus bytes - # we get from the receive() call - chunk = await self.receive_stream.receive() - if len(chunk) > max_bytes: - # Save the surplus bytes in the buffer - self._buffer.extend(chunk[max_bytes:]) - return chunk[:max_bytes] - else: - return chunk - - async def receive_exactly(self, nbytes: int) -> bytes: - """ - Read exactly the given amount of bytes from the stream. - - :param nbytes: the number of bytes to read - :return: the bytes read - :raises ~anyio.IncompleteRead: if the stream was closed before the requested - amount of bytes could be read from the stream - - """ - while True: - remaining = nbytes - len(self._buffer) - if remaining <= 0: - retval = self._buffer[:nbytes] - del self._buffer[:nbytes] - return bytes(retval) - - try: - if isinstance(self.receive_stream, ByteReceiveStream): - chunk = await self.receive_stream.receive(remaining) - else: - chunk = await self.receive_stream.receive() - except EndOfStream as exc: - raise IncompleteRead from exc - - self._buffer.extend(chunk) - - async def receive_until(self, delimiter: bytes, max_bytes: int) -> bytes: - """ - Read from the stream until the delimiter is found or max_bytes have been read. - - :param delimiter: the marker to look for in the stream - :param max_bytes: maximum number of bytes that will be read before raising - :exc:`~anyio.DelimiterNotFound` - :return: the bytes read (not including the delimiter) - :raises ~anyio.IncompleteRead: if the stream was closed before the delimiter - was found - :raises ~anyio.DelimiterNotFound: if the delimiter is not found within the - bytes read up to the maximum allowed - - """ - delimiter_size = len(delimiter) - offset = 0 - while True: - # Check if the delimiter can be found in the current buffer - index = self._buffer.find(delimiter, offset) - if index >= 0: - found = self._buffer[:index] - del self._buffer[: index + len(delimiter) :] - return bytes(found) - - # Check if the buffer is already at or over the limit - if len(self._buffer) >= max_bytes: - raise DelimiterNotFound(max_bytes) - - # Read more data into the buffer from the socket - try: - data = await self.receive_stream.receive() - except EndOfStream as exc: - raise IncompleteRead from exc - - # Move the offset forward and add the new data to the buffer - offset = max(len(self._buffer) - delimiter_size + 1, 0) - self._buffer.extend(data) diff --git a/venv/lib/python3.11/site-packages/anyio/streams/file.py b/venv/lib/python3.11/site-packages/anyio/streams/file.py deleted file mode 100644 index f492464..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/file.py +++ /dev/null @@ -1,148 +0,0 @@ -from __future__ import annotations - -from collections.abc import Callable, Mapping -from io import SEEK_SET, UnsupportedOperation -from os import PathLike -from pathlib import Path -from typing import Any, BinaryIO, cast - -from .. import ( - BrokenResourceError, - ClosedResourceError, - EndOfStream, - TypedAttributeSet, - to_thread, - typed_attribute, -) -from ..abc import ByteReceiveStream, ByteSendStream - - -class FileStreamAttribute(TypedAttributeSet): - #: the open file descriptor - file: BinaryIO = typed_attribute() - #: the path of the file on the file system, if available (file must be a real file) - path: Path = typed_attribute() - #: the file number, if available (file must be a real file or a TTY) - fileno: int = typed_attribute() - - -class _BaseFileStream: - def __init__(self, file: BinaryIO): - self._file = file - - async def aclose(self) -> None: - await to_thread.run_sync(self._file.close) - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - attributes: dict[Any, Callable[[], Any]] = { - FileStreamAttribute.file: lambda: self._file, - } - - if hasattr(self._file, "name"): - attributes[FileStreamAttribute.path] = lambda: Path(self._file.name) - - try: - self._file.fileno() - except UnsupportedOperation: - pass - else: - attributes[FileStreamAttribute.fileno] = lambda: self._file.fileno() - - return attributes - - -class FileReadStream(_BaseFileStream, ByteReceiveStream): - """ - A byte stream that reads from a file in the file system. - - :param file: a file that has been opened for reading in binary mode - - .. versionadded:: 3.0 - """ - - @classmethod - async def from_path(cls, path: str | PathLike[str]) -> FileReadStream: - """ - Create a file read stream by opening the given file. - - :param path: path of the file to read from - - """ - file = await to_thread.run_sync(Path(path).open, "rb") - return cls(cast(BinaryIO, file)) - - async def receive(self, max_bytes: int = 65536) -> bytes: - try: - data = await to_thread.run_sync(self._file.read, max_bytes) - except ValueError: - raise ClosedResourceError from None - except OSError as exc: - raise BrokenResourceError from exc - - if data: - return data - else: - raise EndOfStream - - async def seek(self, position: int, whence: int = SEEK_SET) -> int: - """ - Seek the file to the given position. - - .. seealso:: :meth:`io.IOBase.seek` - - .. note:: Not all file descriptors are seekable. - - :param position: position to seek the file to - :param whence: controls how ``position`` is interpreted - :return: the new absolute position - :raises OSError: if the file is not seekable - - """ - return await to_thread.run_sync(self._file.seek, position, whence) - - async def tell(self) -> int: - """ - Return the current stream position. - - .. note:: Not all file descriptors are seekable. - - :return: the current absolute position - :raises OSError: if the file is not seekable - - """ - return await to_thread.run_sync(self._file.tell) - - -class FileWriteStream(_BaseFileStream, ByteSendStream): - """ - A byte stream that writes to a file in the file system. - - :param file: a file that has been opened for writing in binary mode - - .. versionadded:: 3.0 - """ - - @classmethod - async def from_path( - cls, path: str | PathLike[str], append: bool = False - ) -> FileWriteStream: - """ - Create a file write stream by opening the given file for writing. - - :param path: path of the file to write to - :param append: if ``True``, open the file for appending; if ``False``, any - existing file at the given path will be truncated - - """ - mode = "ab" if append else "wb" - file = await to_thread.run_sync(Path(path).open, mode) - return cls(cast(BinaryIO, file)) - - async def send(self, item: bytes) -> None: - try: - await to_thread.run_sync(self._file.write, item) - except ValueError: - raise ClosedResourceError from None - except OSError as exc: - raise BrokenResourceError from exc diff --git a/venv/lib/python3.11/site-packages/anyio/streams/memory.py b/venv/lib/python3.11/site-packages/anyio/streams/memory.py deleted file mode 100644 index bc2425b..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/memory.py +++ /dev/null @@ -1,283 +0,0 @@ -from __future__ import annotations - -from collections import OrderedDict, deque -from dataclasses import dataclass, field -from types import TracebackType -from typing import Generic, NamedTuple, TypeVar - -from .. import ( - BrokenResourceError, - ClosedResourceError, - EndOfStream, - WouldBlock, -) -from ..abc import Event, ObjectReceiveStream, ObjectSendStream -from ..lowlevel import checkpoint - -T_Item = TypeVar("T_Item") -T_co = TypeVar("T_co", covariant=True) -T_contra = TypeVar("T_contra", contravariant=True) - - -class MemoryObjectStreamStatistics(NamedTuple): - current_buffer_used: int #: number of items stored in the buffer - #: maximum number of items that can be stored on this stream (or :data:`math.inf`) - max_buffer_size: float - open_send_streams: int #: number of unclosed clones of the send stream - open_receive_streams: int #: number of unclosed clones of the receive stream - #: number of tasks blocked on :meth:`MemoryObjectSendStream.send` - tasks_waiting_send: int - #: number of tasks blocked on :meth:`MemoryObjectReceiveStream.receive` - tasks_waiting_receive: int - - -@dataclass(eq=False) -class MemoryObjectStreamState(Generic[T_Item]): - max_buffer_size: float = field() - buffer: deque[T_Item] = field(init=False, default_factory=deque) - open_send_channels: int = field(init=False, default=0) - open_receive_channels: int = field(init=False, default=0) - waiting_receivers: OrderedDict[Event, list[T_Item]] = field( - init=False, default_factory=OrderedDict - ) - waiting_senders: OrderedDict[Event, T_Item] = field( - init=False, default_factory=OrderedDict - ) - - def statistics(self) -> MemoryObjectStreamStatistics: - return MemoryObjectStreamStatistics( - len(self.buffer), - self.max_buffer_size, - self.open_send_channels, - self.open_receive_channels, - len(self.waiting_senders), - len(self.waiting_receivers), - ) - - -@dataclass(eq=False) -class MemoryObjectReceiveStream(Generic[T_co], ObjectReceiveStream[T_co]): - _state: MemoryObjectStreamState[T_co] - _closed: bool = field(init=False, default=False) - - def __post_init__(self) -> None: - self._state.open_receive_channels += 1 - - def receive_nowait(self) -> T_co: - """ - Receive the next item if it can be done without waiting. - - :return: the received item - :raises ~anyio.ClosedResourceError: if this send stream has been closed - :raises ~anyio.EndOfStream: if the buffer is empty and this stream has been - closed from the sending end - :raises ~anyio.WouldBlock: if there are no items in the buffer and no tasks - waiting to send - - """ - if self._closed: - raise ClosedResourceError - - if self._state.waiting_senders: - # Get the item from the next sender - send_event, item = self._state.waiting_senders.popitem(last=False) - self._state.buffer.append(item) - send_event.set() - - if self._state.buffer: - return self._state.buffer.popleft() - elif not self._state.open_send_channels: - raise EndOfStream - - raise WouldBlock - - async def receive(self) -> T_co: - await checkpoint() - try: - return self.receive_nowait() - except WouldBlock: - # Add ourselves in the queue - receive_event = Event() - container: list[T_co] = [] - self._state.waiting_receivers[receive_event] = container - - try: - await receive_event.wait() - finally: - self._state.waiting_receivers.pop(receive_event, None) - - if container: - return container[0] - else: - raise EndOfStream - - def clone(self) -> MemoryObjectReceiveStream[T_co]: - """ - Create a clone of this receive stream. - - Each clone can be closed separately. Only when all clones have been closed will - the receiving end of the memory stream be considered closed by the sending ends. - - :return: the cloned stream - - """ - if self._closed: - raise ClosedResourceError - - return MemoryObjectReceiveStream(_state=self._state) - - def close(self) -> None: - """ - Close the stream. - - This works the exact same way as :meth:`aclose`, but is provided as a special - case for the benefit of synchronous callbacks. - - """ - if not self._closed: - self._closed = True - self._state.open_receive_channels -= 1 - if self._state.open_receive_channels == 0: - send_events = list(self._state.waiting_senders.keys()) - for event in send_events: - event.set() - - async def aclose(self) -> None: - self.close() - - def statistics(self) -> MemoryObjectStreamStatistics: - """ - Return statistics about the current state of this stream. - - .. versionadded:: 3.0 - """ - return self._state.statistics() - - def __enter__(self) -> MemoryObjectReceiveStream[T_co]: - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.close() - - -@dataclass(eq=False) -class MemoryObjectSendStream(Generic[T_contra], ObjectSendStream[T_contra]): - _state: MemoryObjectStreamState[T_contra] - _closed: bool = field(init=False, default=False) - - def __post_init__(self) -> None: - self._state.open_send_channels += 1 - - def send_nowait(self, item: T_contra) -> None: - """ - Send an item immediately if it can be done without waiting. - - :param item: the item to send - :raises ~anyio.ClosedResourceError: if this send stream has been closed - :raises ~anyio.BrokenResourceError: if the stream has been closed from the - receiving end - :raises ~anyio.WouldBlock: if the buffer is full and there are no tasks waiting - to receive - - """ - if self._closed: - raise ClosedResourceError - if not self._state.open_receive_channels: - raise BrokenResourceError - - if self._state.waiting_receivers: - receive_event, container = self._state.waiting_receivers.popitem(last=False) - container.append(item) - receive_event.set() - elif len(self._state.buffer) < self._state.max_buffer_size: - self._state.buffer.append(item) - else: - raise WouldBlock - - async def send(self, item: T_contra) -> None: - """ - Send an item to the stream. - - If the buffer is full, this method blocks until there is again room in the - buffer or the item can be sent directly to a receiver. - - :param item: the item to send - :raises ~anyio.ClosedResourceError: if this send stream has been closed - :raises ~anyio.BrokenResourceError: if the stream has been closed from the - receiving end - - """ - await checkpoint() - try: - self.send_nowait(item) - except WouldBlock: - # Wait until there's someone on the receiving end - send_event = Event() - self._state.waiting_senders[send_event] = item - try: - await send_event.wait() - except BaseException: - self._state.waiting_senders.pop(send_event, None) - raise - - if self._state.waiting_senders.pop(send_event, None): - raise BrokenResourceError from None - - def clone(self) -> MemoryObjectSendStream[T_contra]: - """ - Create a clone of this send stream. - - Each clone can be closed separately. Only when all clones have been closed will - the sending end of the memory stream be considered closed by the receiving ends. - - :return: the cloned stream - - """ - if self._closed: - raise ClosedResourceError - - return MemoryObjectSendStream(_state=self._state) - - def close(self) -> None: - """ - Close the stream. - - This works the exact same way as :meth:`aclose`, but is provided as a special - case for the benefit of synchronous callbacks. - - """ - if not self._closed: - self._closed = True - self._state.open_send_channels -= 1 - if self._state.open_send_channels == 0: - receive_events = list(self._state.waiting_receivers.keys()) - self._state.waiting_receivers.clear() - for event in receive_events: - event.set() - - async def aclose(self) -> None: - self.close() - - def statistics(self) -> MemoryObjectStreamStatistics: - """ - Return statistics about the current state of this stream. - - .. versionadded:: 3.0 - """ - return self._state.statistics() - - def __enter__(self) -> MemoryObjectSendStream[T_contra]: - return self - - def __exit__( - self, - exc_type: type[BaseException] | None, - exc_val: BaseException | None, - exc_tb: TracebackType | None, - ) -> None: - self.close() diff --git a/venv/lib/python3.11/site-packages/anyio/streams/stapled.py b/venv/lib/python3.11/site-packages/anyio/streams/stapled.py deleted file mode 100644 index 80f64a2..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/stapled.py +++ /dev/null @@ -1,141 +0,0 @@ -from __future__ import annotations - -from collections.abc import Callable, Mapping, Sequence -from dataclasses import dataclass -from typing import Any, Generic, TypeVar - -from ..abc import ( - ByteReceiveStream, - ByteSendStream, - ByteStream, - Listener, - ObjectReceiveStream, - ObjectSendStream, - ObjectStream, - TaskGroup, -) - -T_Item = TypeVar("T_Item") -T_Stream = TypeVar("T_Stream") - - -@dataclass(eq=False) -class StapledByteStream(ByteStream): - """ - Combines two byte streams into a single, bidirectional byte stream. - - Extra attributes will be provided from both streams, with the receive stream - providing the values in case of a conflict. - - :param ByteSendStream send_stream: the sending byte stream - :param ByteReceiveStream receive_stream: the receiving byte stream - """ - - send_stream: ByteSendStream - receive_stream: ByteReceiveStream - - async def receive(self, max_bytes: int = 65536) -> bytes: - return await self.receive_stream.receive(max_bytes) - - async def send(self, item: bytes) -> None: - await self.send_stream.send(item) - - async def send_eof(self) -> None: - await self.send_stream.aclose() - - async def aclose(self) -> None: - await self.send_stream.aclose() - await self.receive_stream.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return { - **self.send_stream.extra_attributes, - **self.receive_stream.extra_attributes, - } - - -@dataclass(eq=False) -class StapledObjectStream(Generic[T_Item], ObjectStream[T_Item]): - """ - Combines two object streams into a single, bidirectional object stream. - - Extra attributes will be provided from both streams, with the receive stream - providing the values in case of a conflict. - - :param ObjectSendStream send_stream: the sending object stream - :param ObjectReceiveStream receive_stream: the receiving object stream - """ - - send_stream: ObjectSendStream[T_Item] - receive_stream: ObjectReceiveStream[T_Item] - - async def receive(self) -> T_Item: - return await self.receive_stream.receive() - - async def send(self, item: T_Item) -> None: - await self.send_stream.send(item) - - async def send_eof(self) -> None: - await self.send_stream.aclose() - - async def aclose(self) -> None: - await self.send_stream.aclose() - await self.receive_stream.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return { - **self.send_stream.extra_attributes, - **self.receive_stream.extra_attributes, - } - - -@dataclass(eq=False) -class MultiListener(Generic[T_Stream], Listener[T_Stream]): - """ - Combines multiple listeners into one, serving connections from all of them at once. - - Any MultiListeners in the given collection of listeners will have their listeners - moved into this one. - - Extra attributes are provided from each listener, with each successive listener - overriding any conflicting attributes from the previous one. - - :param listeners: listeners to serve - :type listeners: Sequence[Listener[T_Stream]] - """ - - listeners: Sequence[Listener[T_Stream]] - - def __post_init__(self) -> None: - listeners: list[Listener[T_Stream]] = [] - for listener in self.listeners: - if isinstance(listener, MultiListener): - listeners.extend(listener.listeners) - del listener.listeners[:] # type: ignore[attr-defined] - else: - listeners.append(listener) - - self.listeners = listeners - - async def serve( - self, handler: Callable[[T_Stream], Any], task_group: TaskGroup | None = None - ) -> None: - from .. import create_task_group - - async with create_task_group() as tg: - for listener in self.listeners: - tg.start_soon(listener.serve, handler, task_group) - - async def aclose(self) -> None: - for listener in self.listeners: - await listener.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - attributes: dict = {} - for listener in self.listeners: - attributes.update(listener.extra_attributes) - - return attributes diff --git a/venv/lib/python3.11/site-packages/anyio/streams/text.py b/venv/lib/python3.11/site-packages/anyio/streams/text.py deleted file mode 100644 index f1a1127..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/text.py +++ /dev/null @@ -1,147 +0,0 @@ -from __future__ import annotations - -import codecs -from collections.abc import Callable, Mapping -from dataclasses import InitVar, dataclass, field -from typing import Any - -from ..abc import ( - AnyByteReceiveStream, - AnyByteSendStream, - AnyByteStream, - ObjectReceiveStream, - ObjectSendStream, - ObjectStream, -) - - -@dataclass(eq=False) -class TextReceiveStream(ObjectReceiveStream[str]): - """ - Stream wrapper that decodes bytes to strings using the given encoding. - - Decoding is done using :class:`~codecs.IncrementalDecoder` which returns any - completely received unicode characters as soon as they come in. - - :param transport_stream: any bytes-based receive stream - :param encoding: character encoding to use for decoding bytes to strings (defaults - to ``utf-8``) - :param errors: handling scheme for decoding errors (defaults to ``strict``; see the - `codecs module documentation`_ for a comprehensive list of options) - - .. _codecs module documentation: - https://docs.python.org/3/library/codecs.html#codec-objects - """ - - transport_stream: AnyByteReceiveStream - encoding: InitVar[str] = "utf-8" - errors: InitVar[str] = "strict" - _decoder: codecs.IncrementalDecoder = field(init=False) - - def __post_init__(self, encoding: str, errors: str) -> None: - decoder_class = codecs.getincrementaldecoder(encoding) - self._decoder = decoder_class(errors=errors) - - async def receive(self) -> str: - while True: - chunk = await self.transport_stream.receive() - decoded = self._decoder.decode(chunk) - if decoded: - return decoded - - async def aclose(self) -> None: - await self.transport_stream.aclose() - self._decoder.reset() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return self.transport_stream.extra_attributes - - -@dataclass(eq=False) -class TextSendStream(ObjectSendStream[str]): - """ - Sends strings to the wrapped stream as bytes using the given encoding. - - :param AnyByteSendStream transport_stream: any bytes-based send stream - :param str encoding: character encoding to use for encoding strings to bytes - (defaults to ``utf-8``) - :param str errors: handling scheme for encoding errors (defaults to ``strict``; see - the `codecs module documentation`_ for a comprehensive list of options) - - .. _codecs module documentation: - https://docs.python.org/3/library/codecs.html#codec-objects - """ - - transport_stream: AnyByteSendStream - encoding: InitVar[str] = "utf-8" - errors: str = "strict" - _encoder: Callable[..., tuple[bytes, int]] = field(init=False) - - def __post_init__(self, encoding: str) -> None: - self._encoder = codecs.getencoder(encoding) - - async def send(self, item: str) -> None: - encoded = self._encoder(item, self.errors)[0] - await self.transport_stream.send(encoded) - - async def aclose(self) -> None: - await self.transport_stream.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return self.transport_stream.extra_attributes - - -@dataclass(eq=False) -class TextStream(ObjectStream[str]): - """ - A bidirectional stream that decodes bytes to strings on receive and encodes strings - to bytes on send. - - Extra attributes will be provided from both streams, with the receive stream - providing the values in case of a conflict. - - :param AnyByteStream transport_stream: any bytes-based stream - :param str encoding: character encoding to use for encoding/decoding strings to/from - bytes (defaults to ``utf-8``) - :param str errors: handling scheme for encoding errors (defaults to ``strict``; see - the `codecs module documentation`_ for a comprehensive list of options) - - .. _codecs module documentation: - https://docs.python.org/3/library/codecs.html#codec-objects - """ - - transport_stream: AnyByteStream - encoding: InitVar[str] = "utf-8" - errors: InitVar[str] = "strict" - _receive_stream: TextReceiveStream = field(init=False) - _send_stream: TextSendStream = field(init=False) - - def __post_init__(self, encoding: str, errors: str) -> None: - self._receive_stream = TextReceiveStream( - self.transport_stream, encoding=encoding, errors=errors - ) - self._send_stream = TextSendStream( - self.transport_stream, encoding=encoding, errors=errors - ) - - async def receive(self) -> str: - return await self._receive_stream.receive() - - async def send(self, item: str) -> None: - await self._send_stream.send(item) - - async def send_eof(self) -> None: - await self.transport_stream.send_eof() - - async def aclose(self) -> None: - await self._send_stream.aclose() - await self._receive_stream.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return { - **self._send_stream.extra_attributes, - **self._receive_stream.extra_attributes, - } diff --git a/venv/lib/python3.11/site-packages/anyio/streams/tls.py b/venv/lib/python3.11/site-packages/anyio/streams/tls.py deleted file mode 100644 index e913eed..0000000 --- a/venv/lib/python3.11/site-packages/anyio/streams/tls.py +++ /dev/null @@ -1,338 +0,0 @@ -from __future__ import annotations - -import logging -import re -import ssl -import sys -from collections.abc import Callable, Mapping -from dataclasses import dataclass -from functools import wraps -from typing import Any, Tuple, TypeVar - -from .. import ( - BrokenResourceError, - EndOfStream, - aclose_forcefully, - get_cancelled_exc_class, -) -from .._core._typedattr import TypedAttributeSet, typed_attribute -from ..abc import AnyByteStream, ByteStream, Listener, TaskGroup - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -T_Retval = TypeVar("T_Retval") -PosArgsT = TypeVarTuple("PosArgsT") -_PCTRTT = Tuple[Tuple[str, str], ...] -_PCTRTTT = Tuple[_PCTRTT, ...] - - -class TLSAttribute(TypedAttributeSet): - """Contains Transport Layer Security related attributes.""" - - #: the selected ALPN protocol - alpn_protocol: str | None = typed_attribute() - #: the channel binding for type ``tls-unique`` - channel_binding_tls_unique: bytes = typed_attribute() - #: the selected cipher - cipher: tuple[str, str, int] = typed_attribute() - #: the peer certificate in dictionary form (see :meth:`ssl.SSLSocket.getpeercert` - # for more information) - peer_certificate: None | (dict[str, str | _PCTRTTT | _PCTRTT]) = typed_attribute() - #: the peer certificate in binary form - peer_certificate_binary: bytes | None = typed_attribute() - #: ``True`` if this is the server side of the connection - server_side: bool = typed_attribute() - #: ciphers shared by the client during the TLS handshake (``None`` if this is the - #: client side) - shared_ciphers: list[tuple[str, str, int]] | None = typed_attribute() - #: the :class:`~ssl.SSLObject` used for encryption - ssl_object: ssl.SSLObject = typed_attribute() - #: ``True`` if this stream does (and expects) a closing TLS handshake when the - #: stream is being closed - standard_compatible: bool = typed_attribute() - #: the TLS protocol version (e.g. ``TLSv1.2``) - tls_version: str = typed_attribute() - - -@dataclass(eq=False) -class TLSStream(ByteStream): - """ - A stream wrapper that encrypts all sent data and decrypts received data. - - This class has no public initializer; use :meth:`wrap` instead. - All extra attributes from :class:`~TLSAttribute` are supported. - - :var AnyByteStream transport_stream: the wrapped stream - - """ - - transport_stream: AnyByteStream - standard_compatible: bool - _ssl_object: ssl.SSLObject - _read_bio: ssl.MemoryBIO - _write_bio: ssl.MemoryBIO - - @classmethod - async def wrap( - cls, - transport_stream: AnyByteStream, - *, - server_side: bool | None = None, - hostname: str | None = None, - ssl_context: ssl.SSLContext | None = None, - standard_compatible: bool = True, - ) -> TLSStream: - """ - Wrap an existing stream with Transport Layer Security. - - This performs a TLS handshake with the peer. - - :param transport_stream: a bytes-transporting stream to wrap - :param server_side: ``True`` if this is the server side of the connection, - ``False`` if this is the client side (if omitted, will be set to ``False`` - if ``hostname`` has been provided, ``False`` otherwise). Used only to create - a default context when an explicit context has not been provided. - :param hostname: host name of the peer (if host name checking is desired) - :param ssl_context: the SSLContext object to use (if not provided, a secure - default will be created) - :param standard_compatible: if ``False``, skip the closing handshake when - closing the connection, and don't raise an exception if the peer does the - same - :raises ~ssl.SSLError: if the TLS handshake fails - - """ - if server_side is None: - server_side = not hostname - - if not ssl_context: - purpose = ( - ssl.Purpose.CLIENT_AUTH if server_side else ssl.Purpose.SERVER_AUTH - ) - ssl_context = ssl.create_default_context(purpose) - - # Re-enable detection of unexpected EOFs if it was disabled by Python - if hasattr(ssl, "OP_IGNORE_UNEXPECTED_EOF"): - ssl_context.options &= ~ssl.OP_IGNORE_UNEXPECTED_EOF - - bio_in = ssl.MemoryBIO() - bio_out = ssl.MemoryBIO() - ssl_object = ssl_context.wrap_bio( - bio_in, bio_out, server_side=server_side, server_hostname=hostname - ) - wrapper = cls( - transport_stream=transport_stream, - standard_compatible=standard_compatible, - _ssl_object=ssl_object, - _read_bio=bio_in, - _write_bio=bio_out, - ) - await wrapper._call_sslobject_method(ssl_object.do_handshake) - return wrapper - - async def _call_sslobject_method( - self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] - ) -> T_Retval: - while True: - try: - result = func(*args) - except ssl.SSLWantReadError: - try: - # Flush any pending writes first - if self._write_bio.pending: - await self.transport_stream.send(self._write_bio.read()) - - data = await self.transport_stream.receive() - except EndOfStream: - self._read_bio.write_eof() - except OSError as exc: - self._read_bio.write_eof() - self._write_bio.write_eof() - raise BrokenResourceError from exc - else: - self._read_bio.write(data) - except ssl.SSLWantWriteError: - await self.transport_stream.send(self._write_bio.read()) - except ssl.SSLSyscallError as exc: - self._read_bio.write_eof() - self._write_bio.write_eof() - raise BrokenResourceError from exc - except ssl.SSLError as exc: - self._read_bio.write_eof() - self._write_bio.write_eof() - if ( - isinstance(exc, ssl.SSLEOFError) - or "UNEXPECTED_EOF_WHILE_READING" in exc.strerror - ): - if self.standard_compatible: - raise BrokenResourceError from exc - else: - raise EndOfStream from None - - raise - else: - # Flush any pending writes first - if self._write_bio.pending: - await self.transport_stream.send(self._write_bio.read()) - - return result - - async def unwrap(self) -> tuple[AnyByteStream, bytes]: - """ - Does the TLS closing handshake. - - :return: a tuple of (wrapped byte stream, bytes left in the read buffer) - - """ - await self._call_sslobject_method(self._ssl_object.unwrap) - self._read_bio.write_eof() - self._write_bio.write_eof() - return self.transport_stream, self._read_bio.read() - - async def aclose(self) -> None: - if self.standard_compatible: - try: - await self.unwrap() - except BaseException: - await aclose_forcefully(self.transport_stream) - raise - - await self.transport_stream.aclose() - - async def receive(self, max_bytes: int = 65536) -> bytes: - data = await self._call_sslobject_method(self._ssl_object.read, max_bytes) - if not data: - raise EndOfStream - - return data - - async def send(self, item: bytes) -> None: - await self._call_sslobject_method(self._ssl_object.write, item) - - async def send_eof(self) -> None: - tls_version = self.extra(TLSAttribute.tls_version) - match = re.match(r"TLSv(\d+)(?:\.(\d+))?", tls_version) - if match: - major, minor = int(match.group(1)), int(match.group(2) or 0) - if (major, minor) < (1, 3): - raise NotImplementedError( - f"send_eof() requires at least TLSv1.3; current " - f"session uses {tls_version}" - ) - - raise NotImplementedError( - "send_eof() has not yet been implemented for TLS streams" - ) - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return { - **self.transport_stream.extra_attributes, - TLSAttribute.alpn_protocol: self._ssl_object.selected_alpn_protocol, - TLSAttribute.channel_binding_tls_unique: ( - self._ssl_object.get_channel_binding - ), - TLSAttribute.cipher: self._ssl_object.cipher, - TLSAttribute.peer_certificate: lambda: self._ssl_object.getpeercert(False), - TLSAttribute.peer_certificate_binary: lambda: self._ssl_object.getpeercert( - True - ), - TLSAttribute.server_side: lambda: self._ssl_object.server_side, - TLSAttribute.shared_ciphers: lambda: self._ssl_object.shared_ciphers() - if self._ssl_object.server_side - else None, - TLSAttribute.standard_compatible: lambda: self.standard_compatible, - TLSAttribute.ssl_object: lambda: self._ssl_object, - TLSAttribute.tls_version: self._ssl_object.version, - } - - -@dataclass(eq=False) -class TLSListener(Listener[TLSStream]): - """ - A convenience listener that wraps another listener and auto-negotiates a TLS session - on every accepted connection. - - If the TLS handshake times out or raises an exception, - :meth:`handle_handshake_error` is called to do whatever post-mortem processing is - deemed necessary. - - Supports only the :attr:`~TLSAttribute.standard_compatible` extra attribute. - - :param Listener listener: the listener to wrap - :param ssl_context: the SSL context object - :param standard_compatible: a flag passed through to :meth:`TLSStream.wrap` - :param handshake_timeout: time limit for the TLS handshake - (passed to :func:`~anyio.fail_after`) - """ - - listener: Listener[Any] - ssl_context: ssl.SSLContext - standard_compatible: bool = True - handshake_timeout: float = 30 - - @staticmethod - async def handle_handshake_error(exc: BaseException, stream: AnyByteStream) -> None: - """ - Handle an exception raised during the TLS handshake. - - This method does 3 things: - - #. Forcefully closes the original stream - #. Logs the exception (unless it was a cancellation exception) using the - ``anyio.streams.tls`` logger - #. Reraises the exception if it was a base exception or a cancellation exception - - :param exc: the exception - :param stream: the original stream - - """ - await aclose_forcefully(stream) - - # Log all except cancellation exceptions - if not isinstance(exc, get_cancelled_exc_class()): - # CPython (as of 3.11.5) returns incorrect `sys.exc_info()` here when using - # any asyncio implementation, so we explicitly pass the exception to log - # (https://github.com/python/cpython/issues/108668). Trio does not have this - # issue because it works around the CPython bug. - logging.getLogger(__name__).exception( - "Error during TLS handshake", exc_info=exc - ) - - # Only reraise base exceptions and cancellation exceptions - if not isinstance(exc, Exception) or isinstance(exc, get_cancelled_exc_class()): - raise - - async def serve( - self, - handler: Callable[[TLSStream], Any], - task_group: TaskGroup | None = None, - ) -> None: - @wraps(handler) - async def handler_wrapper(stream: AnyByteStream) -> None: - from .. import fail_after - - try: - with fail_after(self.handshake_timeout): - wrapped_stream = await TLSStream.wrap( - stream, - ssl_context=self.ssl_context, - standard_compatible=self.standard_compatible, - ) - except BaseException as exc: - await self.handle_handshake_error(exc, stream) - else: - await handler(wrapped_stream) - - await self.listener.serve(handler_wrapper, task_group) - - async def aclose(self) -> None: - await self.listener.aclose() - - @property - def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: - return { - TLSAttribute.standard_compatible: lambda: self.standard_compatible, - } diff --git a/venv/lib/python3.11/site-packages/anyio/to_process.py b/venv/lib/python3.11/site-packages/anyio/to_process.py deleted file mode 100644 index 1ff06f0..0000000 --- a/venv/lib/python3.11/site-packages/anyio/to_process.py +++ /dev/null @@ -1,259 +0,0 @@ -from __future__ import annotations - -import os -import pickle -import subprocess -import sys -from collections import deque -from collections.abc import Callable -from importlib.util import module_from_spec, spec_from_file_location -from typing import TypeVar, cast - -from ._core._eventloop import current_time, get_async_backend, get_cancelled_exc_class -from ._core._exceptions import BrokenWorkerProcess -from ._core._subprocesses import open_process -from ._core._synchronization import CapacityLimiter -from ._core._tasks import CancelScope, fail_after -from .abc import ByteReceiveStream, ByteSendStream, Process -from .lowlevel import RunVar, checkpoint_if_cancelled -from .streams.buffered import BufferedByteReceiveStream - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -WORKER_MAX_IDLE_TIME = 300 # 5 minutes - -T_Retval = TypeVar("T_Retval") -PosArgsT = TypeVarTuple("PosArgsT") - -_process_pool_workers: RunVar[set[Process]] = RunVar("_process_pool_workers") -_process_pool_idle_workers: RunVar[deque[tuple[Process, float]]] = RunVar( - "_process_pool_idle_workers" -) -_default_process_limiter: RunVar[CapacityLimiter] = RunVar("_default_process_limiter") - - -async def run_sync( - func: Callable[[Unpack[PosArgsT]], T_Retval], - *args: Unpack[PosArgsT], - cancellable: bool = False, - limiter: CapacityLimiter | None = None, -) -> T_Retval: - """ - Call the given function with the given arguments in a worker process. - - If the ``cancellable`` option is enabled and the task waiting for its completion is - cancelled, the worker process running it will be abruptly terminated using SIGKILL - (or ``terminateProcess()`` on Windows). - - :param func: a callable - :param args: positional arguments for the callable - :param cancellable: ``True`` to allow cancellation of the operation while it's - running - :param limiter: capacity limiter to use to limit the total amount of processes - running (if omitted, the default limiter is used) - :return: an awaitable that yields the return value of the function. - - """ - - async def send_raw_command(pickled_cmd: bytes) -> object: - try: - await stdin.send(pickled_cmd) - response = await buffered.receive_until(b"\n", 50) - status, length = response.split(b" ") - if status not in (b"RETURN", b"EXCEPTION"): - raise RuntimeError( - f"Worker process returned unexpected response: {response!r}" - ) - - pickled_response = await buffered.receive_exactly(int(length)) - except BaseException as exc: - workers.discard(process) - try: - process.kill() - with CancelScope(shield=True): - await process.aclose() - except ProcessLookupError: - pass - - if isinstance(exc, get_cancelled_exc_class()): - raise - else: - raise BrokenWorkerProcess from exc - - retval = pickle.loads(pickled_response) - if status == b"EXCEPTION": - assert isinstance(retval, BaseException) - raise retval - else: - return retval - - # First pickle the request before trying to reserve a worker process - await checkpoint_if_cancelled() - request = pickle.dumps(("run", func, args), protocol=pickle.HIGHEST_PROTOCOL) - - # If this is the first run in this event loop thread, set up the necessary variables - try: - workers = _process_pool_workers.get() - idle_workers = _process_pool_idle_workers.get() - except LookupError: - workers = set() - idle_workers = deque() - _process_pool_workers.set(workers) - _process_pool_idle_workers.set(idle_workers) - get_async_backend().setup_process_pool_exit_at_shutdown(workers) - - async with limiter or current_default_process_limiter(): - # Pop processes from the pool (starting from the most recently used) until we - # find one that hasn't exited yet - process: Process - while idle_workers: - process, idle_since = idle_workers.pop() - if process.returncode is None: - stdin = cast(ByteSendStream, process.stdin) - buffered = BufferedByteReceiveStream( - cast(ByteReceiveStream, process.stdout) - ) - - # Prune any other workers that have been idle for WORKER_MAX_IDLE_TIME - # seconds or longer - now = current_time() - killed_processes: list[Process] = [] - while idle_workers: - if now - idle_workers[0][1] < WORKER_MAX_IDLE_TIME: - break - - process_to_kill, idle_since = idle_workers.popleft() - process_to_kill.kill() - workers.remove(process_to_kill) - killed_processes.append(process_to_kill) - - with CancelScope(shield=True): - for killed_process in killed_processes: - await killed_process.aclose() - - break - - workers.remove(process) - else: - command = [sys.executable, "-u", "-m", __name__] - process = await open_process( - command, stdin=subprocess.PIPE, stdout=subprocess.PIPE - ) - try: - stdin = cast(ByteSendStream, process.stdin) - buffered = BufferedByteReceiveStream( - cast(ByteReceiveStream, process.stdout) - ) - with fail_after(20): - message = await buffered.receive(6) - - if message != b"READY\n": - raise BrokenWorkerProcess( - f"Worker process returned unexpected response: {message!r}" - ) - - main_module_path = getattr(sys.modules["__main__"], "__file__", None) - pickled = pickle.dumps( - ("init", sys.path, main_module_path), - protocol=pickle.HIGHEST_PROTOCOL, - ) - await send_raw_command(pickled) - except (BrokenWorkerProcess, get_cancelled_exc_class()): - raise - except BaseException as exc: - process.kill() - raise BrokenWorkerProcess( - "Error during worker process initialization" - ) from exc - - workers.add(process) - - with CancelScope(shield=not cancellable): - try: - return cast(T_Retval, await send_raw_command(request)) - finally: - if process in workers: - idle_workers.append((process, current_time())) - - -def current_default_process_limiter() -> CapacityLimiter: - """ - Return the capacity limiter that is used by default to limit the number of worker - processes. - - :return: a capacity limiter object - - """ - try: - return _default_process_limiter.get() - except LookupError: - limiter = CapacityLimiter(os.cpu_count() or 2) - _default_process_limiter.set(limiter) - return limiter - - -def process_worker() -> None: - # Redirect standard streams to os.devnull so that user code won't interfere with the - # parent-worker communication - stdin = sys.stdin - stdout = sys.stdout - sys.stdin = open(os.devnull) - sys.stdout = open(os.devnull, "w") - - stdout.buffer.write(b"READY\n") - while True: - retval = exception = None - try: - command, *args = pickle.load(stdin.buffer) - except EOFError: - return - except BaseException as exc: - exception = exc - else: - if command == "run": - func, args = args - try: - retval = func(*args) - except BaseException as exc: - exception = exc - elif command == "init": - main_module_path: str | None - sys.path, main_module_path = args - del sys.modules["__main__"] - if main_module_path: - # Load the parent's main module but as __mp_main__ instead of - # __main__ (like multiprocessing does) to avoid infinite recursion - try: - spec = spec_from_file_location("__mp_main__", main_module_path) - if spec and spec.loader: - main = module_from_spec(spec) - spec.loader.exec_module(main) - sys.modules["__main__"] = main - except BaseException as exc: - exception = exc - - try: - if exception is not None: - status = b"EXCEPTION" - pickled = pickle.dumps(exception, pickle.HIGHEST_PROTOCOL) - else: - status = b"RETURN" - pickled = pickle.dumps(retval, pickle.HIGHEST_PROTOCOL) - except BaseException as exc: - exception = exc - status = b"EXCEPTION" - pickled = pickle.dumps(exc, pickle.HIGHEST_PROTOCOL) - - stdout.buffer.write(b"%s %d\n" % (status, len(pickled))) - stdout.buffer.write(pickled) - - # Respect SIGTERM - if isinstance(exception, SystemExit): - raise exception - - -if __name__ == "__main__": - process_worker() diff --git a/venv/lib/python3.11/site-packages/anyio/to_thread.py b/venv/lib/python3.11/site-packages/anyio/to_thread.py deleted file mode 100644 index 5070516..0000000 --- a/venv/lib/python3.11/site-packages/anyio/to_thread.py +++ /dev/null @@ -1,69 +0,0 @@ -from __future__ import annotations - -import sys -from collections.abc import Callable -from typing import TypeVar -from warnings import warn - -from ._core._eventloop import get_async_backend -from .abc import CapacityLimiter - -if sys.version_info >= (3, 11): - from typing import TypeVarTuple, Unpack -else: - from typing_extensions import TypeVarTuple, Unpack - -T_Retval = TypeVar("T_Retval") -PosArgsT = TypeVarTuple("PosArgsT") - - -async def run_sync( - func: Callable[[Unpack[PosArgsT]], T_Retval], - *args: Unpack[PosArgsT], - abandon_on_cancel: bool = False, - cancellable: bool | None = None, - limiter: CapacityLimiter | None = None, -) -> T_Retval: - """ - Call the given function with the given arguments in a worker thread. - - If the ``cancellable`` option is enabled and the task waiting for its completion is - cancelled, the thread will still run its course but its return value (or any raised - exception) will be ignored. - - :param func: a callable - :param args: positional arguments for the callable - :param abandon_on_cancel: ``True`` to abandon the thread (leaving it to run - unchecked on own) if the host task is cancelled, ``False`` to ignore - cancellations in the host task until the operation has completed in the worker - thread - :param cancellable: deprecated alias of ``abandon_on_cancel``; will override - ``abandon_on_cancel`` if both parameters are passed - :param limiter: capacity limiter to use to limit the total amount of threads running - (if omitted, the default limiter is used) - :return: an awaitable that yields the return value of the function. - - """ - if cancellable is not None: - abandon_on_cancel = cancellable - warn( - "The `cancellable=` keyword argument to `anyio.to_thread.run_sync` is " - "deprecated since AnyIO 4.1.0; use `abandon_on_cancel=` instead", - DeprecationWarning, - stacklevel=2, - ) - - return await get_async_backend().run_sync_in_worker_thread( - func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter - ) - - -def current_default_thread_limiter() -> CapacityLimiter: - """ - Return the capacity limiter that is used by default to limit the number of - concurrent threads. - - :return: a capacity limiter object - - """ - return get_async_backend().current_default_thread_limiter() diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/LICENSE b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/LICENSE deleted file mode 100644 index 62b076c..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -This package contains a modified version of ca-bundle.crt: - -ca-bundle.crt -- Bundle of CA Root Certificates - -This is a bundle of X.509 certificates of public Certificate Authorities -(CA). These were automatically extracted from Mozilla's root certificates -file (certdata.txt). This file can be found in the mozilla source tree: -https://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt -It contains the certificates in PEM format and therefore -can be directly used with curl / libcurl / php_curl, or with -an Apache+mod_ssl webserver for SSL client authentication. -Just configure this file as the SSLCACertificateFile.# - -***** BEGIN LICENSE BLOCK ***** -This Source Code Form is subject to the terms of the Mozilla Public License, -v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain -one at http://mozilla.org/MPL/2.0/. - -***** END LICENSE BLOCK ***** -@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/METADATA b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/METADATA deleted file mode 100644 index c688a62..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/METADATA +++ /dev/null @@ -1,66 +0,0 @@ -Metadata-Version: 2.1 -Name: certifi -Version: 2024.2.2 -Summary: Python package for providing Mozilla's CA Bundle. -Home-page: https://github.com/certifi/python-certifi -Author: Kenneth Reitz -Author-email: me@kennethreitz.com -License: MPL-2.0 -Project-URL: Source, https://github.com/certifi/python-certifi -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0) -Classifier: Natural Language :: English -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Requires-Python: >=3.6 -License-File: LICENSE - -Certifi: Python SSL Certificates -================================ - -Certifi provides Mozilla's carefully curated collection of Root Certificates for -validating the trustworthiness of SSL certificates while verifying the identity -of TLS hosts. It has been extracted from the `Requests`_ project. - -Installation ------------- - -``certifi`` is available on PyPI. Simply install it with ``pip``:: - - $ pip install certifi - -Usage ------ - -To reference the installed certificate authority (CA) bundle, you can use the -built-in function:: - - >>> import certifi - - >>> certifi.where() - '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem' - -Or from the command line:: - - $ python -m certifi - /usr/local/lib/python3.7/site-packages/certifi/cacert.pem - -Enjoy! - -.. _`Requests`: https://requests.readthedocs.io/en/master/ - -Addition/Removal of Certificates --------------------------------- - -Certifi does not support any addition/removal or other modification of the -CA trust store content. This project is intended to provide a reliable and -highly portable root of trust to python deployments. Look to upstream projects -for methods to use alternate trust. diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/RECORD b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/RECORD deleted file mode 100644 index 716f0bb..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/RECORD +++ /dev/null @@ -1,14 +0,0 @@ -certifi-2024.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -certifi-2024.2.2.dist-info/LICENSE,sha256=6TcW2mucDVpKHfYP5pWzcPBpVgPSH2-D8FPkLPwQyvc,989 -certifi-2024.2.2.dist-info/METADATA,sha256=1noreLRChpOgeSj0uJT1mehiBl8ngh33Guc7KdvzYYM,2170 -certifi-2024.2.2.dist-info/RECORD,, -certifi-2024.2.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92 -certifi-2024.2.2.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 -certifi/__init__.py,sha256=ljtEx-EmmPpTe2SOd5Kzsujm_lUD0fKJVnE9gzce320,94 -certifi/__main__.py,sha256=xBBoj905TUWBLRGANOcf7oi6e-3dMP4cEoG9OyMs11g,243 -certifi/__pycache__/__init__.cpython-311.pyc,, -certifi/__pycache__/__main__.cpython-311.pyc,, -certifi/__pycache__/core.cpython-311.pyc,, -certifi/cacert.pem,sha256=ejR8qP724p-CtuR4U1WmY1wX-nVeCUD2XxWqj8e9f5I,292541 -certifi/core.py,sha256=qRDDFyXVJwTB_EmoGppaXU_R9qCZvhl-EzxPMuV3nTA,4426 -certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/WHEEL b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/WHEEL deleted file mode 100644 index 98c0d20..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.42.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/top_level.txt deleted file mode 100644 index 963eac5..0000000 --- a/venv/lib/python3.11/site-packages/certifi-2024.2.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -certifi diff --git a/venv/lib/python3.11/site-packages/certifi/__init__.py b/venv/lib/python3.11/site-packages/certifi/__init__.py deleted file mode 100644 index 1c91f3e..0000000 --- a/venv/lib/python3.11/site-packages/certifi/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from .core import contents, where - -__all__ = ["contents", "where"] -__version__ = "2024.02.02" diff --git a/venv/lib/python3.11/site-packages/certifi/__main__.py b/venv/lib/python3.11/site-packages/certifi/__main__.py deleted file mode 100644 index 8945b5d..0000000 --- a/venv/lib/python3.11/site-packages/certifi/__main__.py +++ /dev/null @@ -1,12 +0,0 @@ -import argparse - -from certifi import contents, where - -parser = argparse.ArgumentParser() -parser.add_argument("-c", "--contents", action="store_true") -args = parser.parse_args() - -if args.contents: - print(contents()) -else: - print(where()) diff --git a/venv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index d01f617..0000000 Binary files a/venv/lib/python3.11/site-packages/certifi/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc b/venv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc deleted file mode 100644 index d642ab0..0000000 Binary files a/venv/lib/python3.11/site-packages/certifi/__pycache__/__main__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc b/venv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc deleted file mode 100644 index 2962bdd..0000000 Binary files a/venv/lib/python3.11/site-packages/certifi/__pycache__/core.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/certifi/cacert.pem b/venv/lib/python3.11/site-packages/certifi/cacert.pem deleted file mode 100644 index fac3c31..0000000 --- a/venv/lib/python3.11/site-packages/certifi/cacert.pem +++ /dev/null @@ -1,4814 +0,0 @@ - -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Label: "GlobalSign Root CA" -# Serial: 4835703278459707669005204 -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Premium 2048 Secure Server CA" -# Serial: 946069240 -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Label: "Baltimore CyberTrust Root" -# Serial: 33554617 -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Label: "Entrust Root Certification Authority" -# Serial: 1164660820 -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited -# Subject: CN=AAA Certificate Services O=Comodo CA Limited -# Label: "Comodo AAA Services root" -# Serial: 1 -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2" -# Serial: 1289 -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3" -# Serial: 1478 -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Label: "XRamp Global CA Root" -# Serial: 107108908803651509692980124233745014957 -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Label: "Go Daddy Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Label: "Starfield Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root CA" -# Serial: 17154717934120587862167794914071425081 -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root CA" -# Serial: 10944719598952040374951832963794454346 -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert High Assurance EV Root CA" -# Serial: 3553400076410547919724730734378100087 -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Label: "SwissSign Gold CA - G2" -# Serial: 13492815561806991280 -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV -BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln -biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF -MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT -d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC -CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 -76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ -bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c -6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE -emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd -MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt -MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y -MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y -FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi -aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM -gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB -qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 -lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn -8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 -45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO -UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 -O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC -bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv -GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a -77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC -hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 -92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp -Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w -ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt -Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Label: "SwissSign Silver CA - G2" -# Serial: 5700383053117599563 -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 ------BEGIN CERTIFICATE----- -MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE -BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu -IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow -RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY -U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv -Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br -YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF -nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH -6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt -eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ -c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ -MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH -HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf -jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 -5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB -rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU -F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c -wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 -cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB -AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp -WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 -xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ -2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ -IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 -aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X -em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR -dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ -OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ -hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy -tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u ------END CERTIFICATE----- - -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation -# Subject: CN=SecureTrust CA O=SecureTrust Corporation -# Label: "SecureTrust CA" -# Serial: 17199774589125277788362757014266862032 -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -# Issuer: CN=Secure Global CA O=SecureTrust Corporation -# Subject: CN=Secure Global CA O=SecureTrust Corporation -# Label: "Secure Global CA" -# Serial: 9751836167731051554232119481456978597 -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited -# Label: "COMODO Certification Authority" -# Serial: 104350513648249232941998508985834464573 -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Label: "COMODO ECC Certification Authority" -# Serial: 41578283867086692638256921589707938090 -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -# Issuer: CN=Certigna O=Dhimyotis -# Subject: CN=Certigna O=Dhimyotis -# Label: "Certigna" -# Serial: 18364802974209362175 -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Label: "ePKI Root Certification Authority" -# Serial: 28956088682735189655030529057352760477 -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -# Issuer: O=certSIGN OU=certSIGN ROOT CA -# Subject: O=certSIGN OU=certSIGN ROOT CA -# Label: "certSIGN ROOT CA" -# Serial: 35210227249154 -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" -# Serial: 80544274841616 -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Label: "SecureSign RootCA11" -# Serial: 1 -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN -QSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Label: "Microsec e-Szigno Root CA 2009" -# Serial: 14014712776195784473 -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Label: "GlobalSign Root CA - R3" -# Serial: 4835703278459759426209954 -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -# Issuer: CN=Izenpe.com O=IZENPE S.A. -# Subject: CN=Izenpe.com O=IZENPE S.A. -# Label: "Izenpe.com" -# Serial: 917563065490389241595536686991402621 -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f ------BEGIN CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 -MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 -ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD -VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j -b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq -scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO -xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H -LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX -uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD -yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ -JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q -rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN -BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L -hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB -QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ -HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu -Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg -QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB -BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA -A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb -laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 -awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo -JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw -LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT -VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk -LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb -UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ -QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ -naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls -QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== ------END CERTIFICATE----- - -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Label: "Go Daddy Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Services Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust -# Subject: CN=AffirmTrust Commercial O=AffirmTrust -# Label: "AffirmTrust Commercial" -# Serial: 8608355977964138876 -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Networking O=AffirmTrust -# Subject: CN=AffirmTrust Networking O=AffirmTrust -# Label: "AffirmTrust Networking" -# Serial: 8957382827206547757 -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium O=AffirmTrust -# Subject: CN=AffirmTrust Premium O=AffirmTrust -# Label: "AffirmTrust Premium" -# Serial: 7893706540734352110 -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust -# Label: "AffirmTrust Premium ECC" -# Serial: 8401224907861490260 -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA" -# Serial: 279744 -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Label: "TWCA Root Certification Authority" -# Serial: 1 -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Label: "Security Communication RootCA2" -# Serial: 0 -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Label: "Actalis Authentication Root CA" -# Serial: 6271844772424770508 -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 2 Root CA" -# Serial: 2 -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 3 Root CA" -# Serial: 2 -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 3" -# Serial: 1 -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 2009" -# Serial: 623603 -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 EV 2009" -# Serial: 623604 -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R2 O=Disig a.s. -# Subject: CN=CA Disig Root R2 O=Disig a.s. -# Label: "CA Disig Root R2" -# Serial: 10572350602393338211 -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Label: "ACCVRAIZ1" -# Serial: 6828503384748696800 -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Label: "TWCA Global Root CA" -# Serial: 3262 -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Label: "TeliaSonera Root CA v1" -# Serial: 199041966741090107964904287217786801558 -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 2" -# Serial: 1 -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot 2011 O=Atos -# Subject: CN=Atos TrustedRoot 2011 O=Atos -# Label: "Atos TrustedRoot 2011" -# Serial: 6643877497813316402 -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 1 G3" -# Serial: 687049649626669250736271037606554624078720034195 -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2 G3" -# Serial: 390156079458959257446133169266079962026824725800 -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3 G3" -# Serial: 268090761170461462463995952157327242137089239581 -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G2" -# Serial: 15385348160840213938643033620894905419 -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G3" -# Serial: 15459312981008553731928384953135426796 -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G2" -# Serial: 4293743540046975378534879503202253541 -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G3" -# Serial: 7089244469030293291760083333884364146 -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Trusted Root G4" -# Serial: 7451500558977370777930084869016614236 -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Label: "COMODO RSA Certification Authority" -# Serial: 101909084537582093308941363524873193117 -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Label: "USERTrust RSA Certification Authority" -# Serial: 2645093764781058787591871645665788717 -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Label: "USERTrust ECC Certification Authority" -# Serial: 123013823720199481456569720443997572134 -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Label: "GlobalSign ECC Root CA - R5" -# Serial: 32785792099990507226680698011560947931244 -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Label: "IdenTrust Commercial Root CA 1" -# Serial: 13298821034946342390520003877796839426 -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Label: "IdenTrust Public Sector Root CA 1" -# Serial: 13298821034946342390521976156843933698 -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G2" -# Serial: 1246989352 -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - EC1" -# Serial: 51543124481930649114116133369 -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority -# Label: "CFCA EV ROOT" -# Serial: 407555286 -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GB CA" -# Serial: 157768595616588414422159278966750757568 -# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d -# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed -# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Label: "SZAFIR ROOT CA2" -# Serial: 357043034767186914217277344587386743377558296292 -# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 -# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de -# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA 2" -# Serial: 44979900017204383099463764357512596969 -# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 -# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 -# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSP ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce -# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 -# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef -# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 -# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -# Issuer: CN=ISRG Root X1 O=Internet Security Research Group -# Subject: CN=ISRG Root X1 O=Internet Security Research Group -# Label: "ISRG Root X1" -# Serial: 172886928669790476064670243504169061120 -# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e -# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 -# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Label: "AC RAIZ FNMT-RCM" -# Serial: 485876308206448804701554682760554759 -# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d -# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 -# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 1 O=Amazon -# Subject: CN=Amazon Root CA 1 O=Amazon -# Label: "Amazon Root CA 1" -# Serial: 143266978916655856878034712317230054538369994 -# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 -# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 -# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 2 O=Amazon -# Subject: CN=Amazon Root CA 2 O=Amazon -# Label: "Amazon Root CA 2" -# Serial: 143266982885963551818349160658925006970653239 -# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 -# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a -# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGw= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 3 O=Amazon -# Subject: CN=Amazon Root CA 3 O=Amazon -# Label: "Amazon Root CA 3" -# Serial: 143266986699090766294700635381230934788665930 -# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 -# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e -# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOw== ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 4 O=Amazon -# Subject: CN=Amazon Root CA 4 O=Amazon -# Label: "Amazon Root CA 4" -# Serial: 143266989758080763974105200630763877849284878 -# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd -# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be -# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# Serial: 1 -# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 -# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca -# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Label: "GDCA TrustAUTH R5 ROOT" -# Serial: 9009899650740120186 -# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 -# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 -# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Label: "SSL.com Root Certification Authority RSA" -# Serial: 8875640296558310041 -# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 -# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb -# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com Root Certification Authority ECC" -# Serial: 8495723813297216424 -# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e -# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a -# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority RSA R2" -# Serial: 6248227494352943350 -# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 -# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a -# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority ECC" -# Serial: 3182246526754555285 -# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 -# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d -# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 -# Label: "GlobalSign Root CA - R6" -# Serial: 1417766617973444989252670301619537 -# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae -# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 -# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg -MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx -MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET -MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI -xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k -ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD -aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw -LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw -1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX -k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 -SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h -bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n -WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY -rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce -MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu -bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt -Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 -55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj -vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf -cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz -oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp -nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs -pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v -JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R -8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 -5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GC CA" -# Serial: 44084345621038548146064804565436152554 -# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 -# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 -# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d ------BEGIN CERTIFICATE----- -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw -CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 -bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg -Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ -BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu -ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS -b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni -eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W -p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T -rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV -57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg -Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 ------END CERTIFICATE----- - -# Issuer: CN=UCA Global G2 Root O=UniTrust -# Subject: CN=UCA Global G2 Root O=UniTrust -# Label: "UCA Global G2 Root" -# Serial: 124779693093741543919145257850076631279 -# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 -# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a -# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH -bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x -CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds -b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr -b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 -kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm -VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R -VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc -C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj -tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY -D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv -j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl -NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 -iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP -O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV -ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj -L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl -1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU -b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV -PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj -y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb -EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg -DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI -+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy -YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX -UB+K+wb1whnw0A== ------END CERTIFICATE----- - -# Issuer: CN=UCA Extended Validation Root O=UniTrust -# Subject: CN=UCA Extended Validation Root O=UniTrust -# Label: "UCA Extended Validation Root" -# Serial: 106100277556486529736699587978573607008 -# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 -# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a -# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH -MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF -eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx -MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV -BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog -D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS -sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop -O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk -sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi -c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj -VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz -KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ -TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G -sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs -1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD -fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN -l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR -ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ -VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 -c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp -4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s -t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj -2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO -vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C -xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx -cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM -fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax ------END CERTIFICATE----- - -# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 -# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 -# Label: "Certigna Root CA" -# Serial: 269714418870597844693661054334862075617 -# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 -# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 -# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 ------BEGIN CERTIFICATE----- -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw -WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw -MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x -MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD -VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX -BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO -ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M -CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu -I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm -TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh -C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf -ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz -IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT -Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k -JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 -hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB -GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov -L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo -dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr -aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq -hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L -6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG -HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 -0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB -lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi -o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 -gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v -faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 -Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh -jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw -3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= ------END CERTIFICATE----- - -# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI -# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI -# Label: "emSign Root CA - G1" -# Serial: 235931866688319308814040 -# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac -# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c -# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67 ------BEGIN CERTIFICATE----- -MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD -VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU -ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH -MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO -MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv -Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz -f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO -8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq -d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM -tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt -Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB -o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x -PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM -wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d -GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH -6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby -RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx -iN66zB+Afko= ------END CERTIFICATE----- - -# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI -# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI -# Label: "emSign ECC Root CA - G3" -# Serial: 287880440101571086945156 -# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40 -# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1 -# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b ------BEGIN CERTIFICATE----- -MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG -EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo -bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g -RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ -TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s -b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 -WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS -fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB -zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq -hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB -CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD -+JbNR6iC8hZVdyR+EhCVBCyj ------END CERTIFICATE----- - -# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI -# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI -# Label: "emSign Root CA - C1" -# Serial: 825510296613316004955058 -# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68 -# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01 -# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f ------BEGIN CERTIFICATE----- -MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG -A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg -SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v -dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ -BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ -HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH -3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH -GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c -xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 -aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq -TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 -/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 -kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG -YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT -+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo -WXzhriKi4gp6D/piq1JM4fHfyr6DDUI= ------END CERTIFICATE----- - -# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI -# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI -# Label: "emSign ECC Root CA - C3" -# Serial: 582948710642506000014504 -# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5 -# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66 -# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3 ------BEGIN CERTIFICATE----- -MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG -EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx -IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw -MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln -biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND -IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci -MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti -sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O -BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB -Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c -3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J -0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post -# Label: "Hongkong Post Root CA 3" -# Serial: 46170865288971385588281144162979347873371282084 -# MD5 Fingerprint: 11:fc:9f:bd:73:30:02:8a:fd:3f:f3:58:b9:cb:20:f0 -# SHA1 Fingerprint: 58:a2:d0:ec:20:52:81:5b:c1:f3:f8:64:02:24:4e:c2:8e:02:4b:02 -# SHA256 Fingerprint: 5a:2f:c0:3f:0c:83:b0:90:bb:fa:40:60:4b:09:88:44:6c:76:36:18:3d:f9:84:6e:17:10:1a:44:7f:b8:ef:d6 ------BEGIN CERTIFICATE----- -MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL -BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ -SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n -a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5 -NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT -CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u -Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO -dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI -VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV -9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY -2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY -vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt -bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb -x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+ -l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK -TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj -Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e -i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw -DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG -7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk -MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr -gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk -GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS -3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm -Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+ -l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c -JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP -L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa -LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG -mpv0 ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G4 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2015 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G4 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2015 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G4" -# Serial: 289383649854506086828220374796556676440 -# MD5 Fingerprint: 89:53:f1:83:23:b7:7c:8e:05:f1:8c:71:38:4e:1f:88 -# SHA1 Fingerprint: 14:88:4e:86:26:37:b0:26:af:59:62:5c:40:77:ec:35:29:ba:96:01 -# SHA256 Fingerprint: db:35:17:d1:f6:73:2a:2d:5a:b9:7c:53:3e:c7:07:79:ee:32:70:a6:2f:b4:ac:42:38:37:24:60:e6:f0:1e:88 ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw -gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL -Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg -MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw -BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0 -MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1 -c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ -bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg -Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ -2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E -T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j -5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM -C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T -DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX -wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A -2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm -nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 -dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl -N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj -c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS -5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS -Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr -hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/ -B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI -AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw -H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+ -b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk -2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol -IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk -5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY -n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw== ------END CERTIFICATE----- - -# Issuer: CN=Microsoft ECC Root Certificate Authority 2017 O=Microsoft Corporation -# Subject: CN=Microsoft ECC Root Certificate Authority 2017 O=Microsoft Corporation -# Label: "Microsoft ECC Root Certificate Authority 2017" -# Serial: 136839042543790627607696632466672567020 -# MD5 Fingerprint: dd:a1:03:e6:4a:93:10:d1:bf:f0:19:42:cb:fe:ed:67 -# SHA1 Fingerprint: 99:9a:64:c3:7f:f4:7d:9f:ab:95:f1:47:69:89:14:60:ee:c4:c3:c5 -# SHA256 Fingerprint: 35:8d:f3:9d:76:4a:f9:e1:b7:66:e9:c9:72:df:35:2e:e1:5c:fa:c2:27:af:6a:d1:d7:0e:8e:4a:6e:dc:ba:02 ------BEGIN CERTIFICATE----- -MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD -VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw -MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV -UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy -b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR -ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb -hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3 -FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV -L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB -iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= ------END CERTIFICATE----- - -# Issuer: CN=Microsoft RSA Root Certificate Authority 2017 O=Microsoft Corporation -# Subject: CN=Microsoft RSA Root Certificate Authority 2017 O=Microsoft Corporation -# Label: "Microsoft RSA Root Certificate Authority 2017" -# Serial: 40975477897264996090493496164228220339 -# MD5 Fingerprint: 10:ff:00:ff:cf:c9:f8:c7:7a:c0:ee:35:8e:c9:0f:47 -# SHA1 Fingerprint: 73:a5:e6:4a:3b:ff:83:16:ff:0e:dc:cc:61:8a:90:6e:4e:ae:4d:74 -# SHA256 Fingerprint: c7:41:f7:0f:4b:2a:8d:88:bf:2e:71:c1:41:22:ef:53:ef:10:eb:a0:cf:a5:e6:4c:fa:20:f4:18:85:30:73:e0 ------BEGIN CERTIFICATE----- -MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl -MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw -NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG -EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N -aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ -Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0 -ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1 -HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm -gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ -jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc -aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG -YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6 -W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K -UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH -+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q -W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC -LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC -gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6 -tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh -SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2 -TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3 -pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR -xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp -GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9 -dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN -AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB -RA+GsCyRxj3qrg+E ------END CERTIFICATE----- - -# Issuer: CN=e-Szigno Root CA 2017 O=Microsec Ltd. -# Subject: CN=e-Szigno Root CA 2017 O=Microsec Ltd. -# Label: "e-Szigno Root CA 2017" -# Serial: 411379200276854331539784714 -# MD5 Fingerprint: de:1f:f6:9e:84:ae:a7:b4:21:ce:1e:58:7d:d1:84:98 -# SHA1 Fingerprint: 89:d4:83:03:4f:9e:9a:48:80:5f:72:37:d4:a9:a6:ef:cb:7c:1f:d1 -# SHA256 Fingerprint: be:b0:0b:30:83:9b:9b:c3:2c:32:e4:44:79:05:95:06:41:f2:64:21:b1:5e:d0:89:19:8b:51:8a:e2:ea:1b:99 ------BEGIN CERTIFICATE----- -MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV -BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk -LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv -b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ -BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg -THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v -IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv -xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H -Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB -eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo -jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ -+efcMQ== ------END CERTIFICATE----- - -# Issuer: O=CERTSIGN SA OU=certSIGN ROOT CA G2 -# Subject: O=CERTSIGN SA OU=certSIGN ROOT CA G2 -# Label: "certSIGN Root CA G2" -# Serial: 313609486401300475190 -# MD5 Fingerprint: 8c:f1:75:8a:c6:19:cf:94:b7:f7:65:20:87:c3:97:c7 -# SHA1 Fingerprint: 26:f9:93:b4:ed:3d:28:27:b0:b9:4b:a7:e9:15:1d:a3:8d:92:e5:32 -# SHA256 Fingerprint: 65:7c:fe:2f:a7:3f:aa:38:46:25:71:f3:32:a2:36:3a:46:fc:e7:02:09:51:71:07:02:cd:fb:b6:ee:da:33:05 ------BEGIN CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV -BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g -Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ -BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ -R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF -dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw -vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ -uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp -n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs -cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW -xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P -rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF -DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx -DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy -LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C -eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ -d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq -kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC -b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl -qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0 -OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c -NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk -ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO -pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj -03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk -PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE -1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX -QRBdJ3NghVdJIgc= ------END CERTIFICATE----- - -# Issuer: CN=Trustwave Global Certification Authority O=Trustwave Holdings, Inc. -# Subject: CN=Trustwave Global Certification Authority O=Trustwave Holdings, Inc. -# Label: "Trustwave Global Certification Authority" -# Serial: 1846098327275375458322922162 -# MD5 Fingerprint: f8:1c:18:2d:2f:ba:5f:6d:a1:6c:bc:c7:ab:91:c7:0e -# SHA1 Fingerprint: 2f:8f:36:4f:e1:58:97:44:21:59:87:a5:2a:9a:d0:69:95:26:7f:b5 -# SHA256 Fingerprint: 97:55:20:15:f5:dd:fc:3c:87:88:c0:06:94:45:55:40:88:94:45:00:84:f1:00:86:70:86:bc:1a:2b:b5:8d:c8 ------BEGIN CERTIFICATE----- -MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw -CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x -ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1 -c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx -OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI -SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI -b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn -swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu -7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8 -1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW -80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP -JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l -RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw -hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10 -coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc -BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n -twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud -DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W -0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe -uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q -lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB -aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE -sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT -MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe -qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh -VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8 -h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9 -EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK -yeC2nOnOcXHebD8WpHk= ------END CERTIFICATE----- - -# Issuer: CN=Trustwave Global ECC P256 Certification Authority O=Trustwave Holdings, Inc. -# Subject: CN=Trustwave Global ECC P256 Certification Authority O=Trustwave Holdings, Inc. -# Label: "Trustwave Global ECC P256 Certification Authority" -# Serial: 4151900041497450638097112925 -# MD5 Fingerprint: 5b:44:e3:8d:5d:36:86:26:e8:0d:05:d2:59:a7:83:54 -# SHA1 Fingerprint: b4:90:82:dd:45:0c:be:8b:5b:b1:66:d3:e2:a4:08:26:cd:ed:42:cf -# SHA256 Fingerprint: 94:5b:bc:82:5e:a5:54:f4:89:d1:fd:51:a7:3d:df:2e:a6:24:ac:70:19:a0:52:05:22:5c:22:a7:8c:cf:a8:b4 ------BEGIN CERTIFICATE----- -MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG -SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN -FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w -DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw -CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh -DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 ------END CERTIFICATE----- - -# Issuer: CN=Trustwave Global ECC P384 Certification Authority O=Trustwave Holdings, Inc. -# Subject: CN=Trustwave Global ECC P384 Certification Authority O=Trustwave Holdings, Inc. -# Label: "Trustwave Global ECC P384 Certification Authority" -# Serial: 2704997926503831671788816187 -# MD5 Fingerprint: ea:cf:60:c4:3b:b9:15:29:40:a1:97:ed:78:27:93:d6 -# SHA1 Fingerprint: e7:f3:a3:c8:cf:6f:c3:04:2e:6d:0e:67:32:c5:9e:68:95:0d:5e:d2 -# SHA256 Fingerprint: 55:90:38:59:c8:c0:c3:eb:b8:75:9e:ce:4e:25:57:22:5f:f5:75:8b:bd:38:eb:d4:82:76:60:1e:1b:d5:80:97 ------BEGIN CERTIFICATE----- -MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD -VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf -BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 -YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x -NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G -A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 -d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF -Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB -BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ -j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF -1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G -A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3 -AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC -MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu -Sw== ------END CERTIFICATE----- - -# Issuer: CN=NAVER Global Root Certification Authority O=NAVER BUSINESS PLATFORM Corp. -# Subject: CN=NAVER Global Root Certification Authority O=NAVER BUSINESS PLATFORM Corp. -# Label: "NAVER Global Root Certification Authority" -# Serial: 9013692873798656336226253319739695165984492813 -# MD5 Fingerprint: c8:7e:41:f6:25:3b:f5:09:b3:17:e8:46:3d:bf:d0:9b -# SHA1 Fingerprint: 8f:6b:f2:a9:27:4a:da:14:a0:c4:f4:8e:61:27:f9:c0:1e:78:5d:d1 -# SHA256 Fingerprint: 88:f4:38:dc:f8:ff:d1:fa:8f:42:91:15:ff:e5:f8:2a:e1:e0:6e:0c:70:c3:75:fa:ad:71:7b:34:a4:9e:72:65 ------BEGIN CERTIFICATE----- -MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM -BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG -T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx -CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD -b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA -iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH -38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE -HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz -kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP -szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq -vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf -nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG -YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo -0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a -CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K -AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I -36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB -Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN -qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj -cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm -+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL -hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe -lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7 -p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8 -piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR -LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX -5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO -dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul -9XXeifdy ------END CERTIFICATE----- - -# Issuer: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS O=FNMT-RCM OU=Ceres -# Subject: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS O=FNMT-RCM OU=Ceres -# Label: "AC RAIZ FNMT-RCM SERVIDORES SEGUROS" -# Serial: 131542671362353147877283741781055151509 -# MD5 Fingerprint: 19:36:9c:52:03:2f:d2:d1:bb:23:cc:dd:1e:12:55:bb -# SHA1 Fingerprint: 62:ff:d9:9e:c0:65:0d:03:ce:75:93:d2:ed:3f:2d:32:c9:e3:e5:4a -# SHA256 Fingerprint: 55:41:53:b1:3d:2c:f9:dd:b7:53:bf:be:1a:4e:0a:e0:8d:0a:a4:18:70:58:fe:60:a2:b8:62:b2:e4:b8:7b:cb ------BEGIN CERTIFICATE----- -MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw -CQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw -FgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S -Q00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5 -MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL -DAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS -QUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH -sbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK -Um8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu -SuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC -MQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy -v+c= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign Root R46 O=GlobalSign nv-sa -# Subject: CN=GlobalSign Root R46 O=GlobalSign nv-sa -# Label: "GlobalSign Root R46" -# Serial: 1552617688466950547958867513931858518042577 -# MD5 Fingerprint: c4:14:30:e4:fa:66:43:94:2a:6a:1b:24:5f:19:d0:ef -# SHA1 Fingerprint: 53:a2:b0:4b:ca:6b:d6:45:e6:39:8a:8e:c4:0d:d2:bf:77:c3:a2:90 -# SHA256 Fingerprint: 4f:a3:12:6d:8d:3a:11:d1:c4:85:5a:4f:80:7c:ba:d6:cf:91:9d:3a:5a:88:b0:3b:ea:2c:63:72:d9:3c:40:c9 ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA -MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD -VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy -MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt -c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ -OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG -vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud -316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo -0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE -y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF -zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE -+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN -I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs -x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa -ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC -4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4 -7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg -JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti -2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk -pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF -FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt -rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk -ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5 -u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP -4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6 -N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3 -vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6 ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign Root E46 O=GlobalSign nv-sa -# Subject: CN=GlobalSign Root E46 O=GlobalSign nv-sa -# Label: "GlobalSign Root E46" -# Serial: 1552617690338932563915843282459653771421763 -# MD5 Fingerprint: b5:b8:66:ed:de:08:83:e3:c9:e2:01:34:06:ac:51:6f -# SHA1 Fingerprint: 39:b4:6c:d5:fe:80:06:eb:e2:2f:4a:bb:08:33:a0:af:db:b9:dd:84 -# SHA256 Fingerprint: cb:b9:c4:4d:84:b8:04:3e:10:50:ea:31:a6:9f:51:49:55:d7:bf:d2:e2:c6:b4:93:01:01:9a:d6:1d:9f:50:58 ------BEGIN CERTIFICATE----- -MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx -CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD -ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw -MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex -HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq -R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd -yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud -DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ -7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8 -+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A= ------END CERTIFICATE----- - -# Issuer: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH -# Subject: CN=GLOBALTRUST 2020 O=e-commerce monitoring GmbH -# Label: "GLOBALTRUST 2020" -# Serial: 109160994242082918454945253 -# MD5 Fingerprint: 8a:c7:6f:cb:6d:e3:cc:a2:f1:7c:83:fa:0e:78:d7:e8 -# SHA1 Fingerprint: d0:67:c1:13:51:01:0c:aa:d0:c7:6a:65:37:31:16:26:4f:53:71:a2 -# SHA256 Fingerprint: 9a:29:6a:51:82:d1:d4:51:a2:e3:7f:43:9b:74:da:af:a2:67:52:33:29:f9:0f:9a:0d:20:07:c3:34:e2:3c:9a ------BEGIN CERTIFICATE----- -MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkG -A1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkw -FwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYx -MDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9u -aXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMIICIjANBgkq -hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWiD59b -RatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9Z -YybNpyrOVPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3 -QWPKzv9pj2gOlTblzLmMCcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPw -yJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCmfecqQjuCgGOlYx8ZzHyyZqjC0203b+J+ -BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKAA1GqtH6qRNdDYfOiaxaJ -SaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9ORJitHHmkH -r96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj0 -4KlGDfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9Me -dKZssCz3AwyIDMvUclOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIw -q7ejMZdnrY8XD2zHc+0klGvIg5rQmjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2 -nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1UdIwQYMBaAFNwu -H9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA -VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJC -XtzoRlgHNQIw4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd -6IwPS3BD0IL/qMy/pJTAvoe9iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf -+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS8cE54+X1+NZK3TTN+2/BT+MAi1bi -kvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2HcqtbepBEX4tdJP7 -wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxSvTOB -TI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6C -MUO+1918oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn -4rnvyOL2NSl6dPrFf4IFYqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+I -aFvowdlxfv1k7/9nR4hYJS8+hge9+6jlgqispdNpQ80xiEmEU5LAsTkbOYMBMMTy -qfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== ------END CERTIFICATE----- - -# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz -# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz -# Label: "ANF Secure Server Root CA" -# Serial: 996390341000653745 -# MD5 Fingerprint: 26:a6:44:5a:d9:af:4e:2f:b2:1d:b6:65:b0:4e:e8:96 -# SHA1 Fingerprint: 5b:6e:68:d0:cc:15:b6:a0:5f:1e:c1:5f:ae:02:fc:6b:2f:5d:6f:74 -# SHA256 Fingerprint: fb:8f:ec:75:91:69:b9:10:6b:1e:51:16:44:c6:18:c5:13:04:37:3f:6c:06:43:08:8d:8b:ef:fd:1b:99:75:99 ------BEGIN CERTIFICATE----- -MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV -BAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk -YWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV -BAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN -MzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF -UzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD -VQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v -dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj -cqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q -yGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH -2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX -H1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL -zc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR -p1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz -W7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/ -SiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn -LNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3 -n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B -u8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj -o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -AgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L -9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej -rw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK -pFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0 -vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq -OknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ -/zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9 -2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI -+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2 -MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo -tt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= ------END CERTIFICATE----- - -# Issuer: CN=Certum EC-384 CA O=Asseco Data Systems S.A. OU=Certum Certification Authority -# Subject: CN=Certum EC-384 CA O=Asseco Data Systems S.A. OU=Certum Certification Authority -# Label: "Certum EC-384 CA" -# Serial: 160250656287871593594747141429395092468 -# MD5 Fingerprint: b6:65:b3:96:60:97:12:a1:ec:4e:e1:3d:a3:c6:c9:f1 -# SHA1 Fingerprint: f3:3e:78:3c:ac:df:f4:a2:cc:ac:67:55:69:56:d7:e5:16:3c:e1:ed -# SHA256 Fingerprint: 6b:32:80:85:62:53:18:aa:50:d1:73:c9:8d:8b:da:09:d5:7e:27:41:3d:11:4c:f7:87:a0:f5:d0:6c:03:0c:f6 ------BEGIN CERTIFICATE----- -MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw -CQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw -JQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT -EENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0 -WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT -LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX -BgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE -KI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm -Fy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8 -EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J -UG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn -nvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Root CA O=Asseco Data Systems S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Root CA O=Asseco Data Systems S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Root CA" -# Serial: 40870380103424195783807378461123655149 -# MD5 Fingerprint: 51:e1:c2:e7:fe:4c:84:af:59:0e:2f:f4:54:6f:ea:29 -# SHA1 Fingerprint: c8:83:44:c0:18:ae:9f:cc:f1:87:b7:8f:22:d1:c5:d7:45:84:ba:e5 -# SHA256 Fingerprint: fe:76:96:57:38:55:77:3e:37:a9:5e:7a:d4:d9:cc:96:c3:01:57:c1:5d:31:76:5b:a9:b1:57:04:e1:ae:78:fd ------BEGIN CERTIFICATE----- -MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6 -MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu -MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV -BAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw -MzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg -U3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ -n0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q -p1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq -NwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF -8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3 -HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa -mqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi -7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF -ytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P -qafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ -v3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6 -Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 -vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD -ggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4 -WxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo -zMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR -5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ -GfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf -5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq -0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D -P78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM -qJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP -0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf -E2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb ------END CERTIFICATE----- - -# Issuer: CN=TunTrust Root CA O=Agence Nationale de Certification Electronique -# Subject: CN=TunTrust Root CA O=Agence Nationale de Certification Electronique -# Label: "TunTrust Root CA" -# Serial: 108534058042236574382096126452369648152337120275 -# MD5 Fingerprint: 85:13:b9:90:5b:36:5c:b6:5e:b8:5a:f8:e0:31:57:b4 -# SHA1 Fingerprint: cf:e9:70:84:0f:e0:73:0f:9d:f6:0c:7f:2c:4b:ee:20:46:34:9c:bb -# SHA256 Fingerprint: 2e:44:10:2a:b5:8c:b8:54:19:45:1c:8e:19:d9:ac:f3:66:2c:af:bc:61:4b:6a:53:96:0a:30:f7:d0:e2:eb:41 ------BEGIN CERTIFICATE----- -MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL -BQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg -Q2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv -b3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG -EwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u -IEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ -n56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd -2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF -VwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ -GoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF -li/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU -r8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2 -eY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb -MlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg -jwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB -7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW -5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE -ITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 -90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z -xiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu -QEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4 -FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH -22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP -xOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn -dFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5 -Xc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b -nV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ -CvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH -u/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj -d9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= ------END CERTIFICATE----- - -# Issuer: CN=HARICA TLS RSA Root CA 2021 O=Hellenic Academic and Research Institutions CA -# Subject: CN=HARICA TLS RSA Root CA 2021 O=Hellenic Academic and Research Institutions CA -# Label: "HARICA TLS RSA Root CA 2021" -# Serial: 76817823531813593706434026085292783742 -# MD5 Fingerprint: 65:47:9b:58:86:dd:2c:f0:fc:a2:84:1f:1e:96:c4:91 -# SHA1 Fingerprint: 02:2d:05:82:fa:88:ce:14:0c:06:79:de:7f:14:10:e9:45:d7:a5:6d -# SHA256 Fingerprint: d9:5d:0e:8e:da:79:52:5b:f9:be:b1:1b:14:d2:10:0d:32:94:98:5f:0c:62:d9:fa:bd:9c:d9:99:ec:cb:7b:1d ------BEGIN CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs -MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg -Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL -MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl -YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv -b3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l -mwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE -4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv -a9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M -pbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw -Kh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b -LW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY -AuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB -AGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq -E613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr -W2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ -CoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU -X15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3 -f5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja -H6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP -JzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P -zzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt -jBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0 -/L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT -BGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79 -aPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW -xw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU -63ZTGI0RmLo= ------END CERTIFICATE----- - -# Issuer: CN=HARICA TLS ECC Root CA 2021 O=Hellenic Academic and Research Institutions CA -# Subject: CN=HARICA TLS ECC Root CA 2021 O=Hellenic Academic and Research Institutions CA -# Label: "HARICA TLS ECC Root CA 2021" -# Serial: 137515985548005187474074462014555733966 -# MD5 Fingerprint: ae:f7:4c:e5:66:35:d1:b7:9b:8c:22:93:74:d3:4b:b0 -# SHA1 Fingerprint: bc:b0:c1:9d:e9:98:92:70:19:38:57:e9:8d:a7:b4:5d:6e:ee:01:48 -# SHA256 Fingerprint: 3f:99:cc:47:4a:cf:ce:4d:fe:d5:87:94:66:5e:47:8d:15:47:73:9f:2e:78:0f:1b:b4:ca:9b:13:30:97:d4:01 ------BEGIN CERTIFICATE----- -MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw -CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh -cmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v -dCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG -A1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj -aCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg -Q0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7 -KKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y -STHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD -AgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw -SaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN -nxS2PFOiTAZpffpskcYqSUXm7LcT4Tps ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Serial: 1977337328857672817 -# MD5 Fingerprint: 4e:6e:9b:54:4c:ca:b7:fa:48:e4:90:b1:15:4b:1c:a3 -# SHA1 Fingerprint: 0b:be:c2:27:22:49:cb:39:aa:db:35:5c:53:e3:8c:ae:78:ff:b6:fe -# SHA256 Fingerprint: 57:de:05:83:ef:d2:b2:6e:03:61:da:99:da:9d:f4:64:8d:ef:7e:e8:44:1c:3b:72:8a:fa:9b:cd:e0:f9:b2:6a ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1 -MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc -tHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd -IAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j -b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC -AG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw -ADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m -iWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF -Sa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ -hfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P -Vf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE -EAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV -1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t -CsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR -5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw -f9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9 -ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK -GbqEZycPvEJdvSRUDewdcAZfpLz6IHxV ------END CERTIFICATE----- - -# Issuer: CN=vTrus ECC Root CA O=iTrusChina Co.,Ltd. -# Subject: CN=vTrus ECC Root CA O=iTrusChina Co.,Ltd. -# Label: "vTrus ECC Root CA" -# Serial: 630369271402956006249506845124680065938238527194 -# MD5 Fingerprint: de:4b:c1:f5:52:8c:9b:43:e1:3e:8f:55:54:17:8d:85 -# SHA1 Fingerprint: f6:9c:db:b0:fc:f6:02:13:b6:52:32:a6:a3:91:3f:16:70:da:c3:e1 -# SHA256 Fingerprint: 30:fb:ba:2c:32:23:8e:2a:98:54:7a:f9:79:31:e5:50:42:8b:9b:3f:1c:8e:eb:66:33:dc:fa:86:c5:b2:7d:d3 ------BEGIN CERTIFICATE----- -MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw -RzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY -BgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz -MTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u -LEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0 -v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd -e4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw -V53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA -AjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG -GJTO ------END CERTIFICATE----- - -# Issuer: CN=vTrus Root CA O=iTrusChina Co.,Ltd. -# Subject: CN=vTrus Root CA O=iTrusChina Co.,Ltd. -# Label: "vTrus Root CA" -# Serial: 387574501246983434957692974888460947164905180485 -# MD5 Fingerprint: b8:c9:37:df:fa:6b:31:84:64:c5:ea:11:6a:1b:75:fc -# SHA1 Fingerprint: 84:1a:69:fb:f5:cd:1a:25:34:13:3d:e3:f8:fc:b8:99:d0:c9:14:b7 -# SHA256 Fingerprint: 8a:71:de:65:59:33:6f:42:6c:26:e5:38:80:d0:0d:88:a1:8d:a4:c6:a9:1f:0d:cb:61:94:e2:06:c5:c9:63:87 ------BEGIN CERTIFICATE----- -MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL -BQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x -FjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx -MDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s -THRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc -IrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU -AyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+ -GrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9 -8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH -flqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt -J8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim -0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN -pGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ -UqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW -OXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB -AAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet -8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd -nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j -bhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM -Kar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv -TDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS -S8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr -I8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9 -b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB -UvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P -Ti07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven -sBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3s= ------END CERTIFICATE----- - -# Issuer: CN=ISRG Root X2 O=Internet Security Research Group -# Subject: CN=ISRG Root X2 O=Internet Security Research Group -# Label: "ISRG Root X2" -# Serial: 87493402998870891108772069816698636114 -# MD5 Fingerprint: d3:9e:c4:1e:23:3c:a6:df:cf:a3:7e:6d:e0:14:e6:e5 -# SHA1 Fingerprint: bd:b1:b9:3c:d5:97:8d:45:c6:26:14:55:f8:db:95:c7:5a:d1:53:af -# SHA256 Fingerprint: 69:72:9b:8e:15:a8:6e:fc:17:7a:57:af:b7:17:1d:fc:64:ad:d2:8c:2f:ca:8c:f1:50:7e:34:45:3c:cb:14:70 ------BEGIN CERTIFICATE----- -MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw -CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg -R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 -MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT -ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw -EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW -+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 -ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI -zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW -tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 -/q4AaOeMSQ+2b1tbFfLn ------END CERTIFICATE----- - -# Issuer: CN=HiPKI Root CA - G1 O=Chunghwa Telecom Co., Ltd. -# Subject: CN=HiPKI Root CA - G1 O=Chunghwa Telecom Co., Ltd. -# Label: "HiPKI Root CA - G1" -# Serial: 60966262342023497858655262305426234976 -# MD5 Fingerprint: 69:45:df:16:65:4b:e8:68:9a:8f:76:5f:ff:80:9e:d3 -# SHA1 Fingerprint: 6a:92:e4:a8:ee:1b:ec:96:45:37:e3:29:57:49:cd:96:e3:e5:d2:60 -# SHA256 Fingerprint: f0:15:ce:3c:c2:39:bf:ef:06:4b:e9:f1:d2:c4:17:e1:a0:26:4a:0a:94:be:1f:0c:8d:12:18:64:eb:69:49:cc ------BEGIN CERTIFICATE----- -MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa -Fw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3 -YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw -qNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv -Vcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6 -lZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz -Qs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ -KILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK -FgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj -HluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr -y+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ -/W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM -a/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6 -fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG -SIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi -7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc -SE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza -ZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc -XzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg -iLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho -L5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF -Ne85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr -kkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+ -vhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU -YDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Label: "GlobalSign ECC Root CA - R4" -# Serial: 159662223612894884239637590694 -# MD5 Fingerprint: 26:29:f8:6d:e1:88:bf:a2:65:7f:aa:c4:cd:0f:7f:fc -# SHA1 Fingerprint: 6b:a0:b0:98:e1:71:ef:5a:ad:fe:48:15:80:77:10:f4:bd:6f:0b:28 -# SHA256 Fingerprint: b0:85:d7:0b:96:4f:19:1a:73:e4:af:0d:54:ae:7a:0e:07:aa:fd:af:9b:71:dd:08:62:13:8a:b7:32:5a:24:a2 ------BEGIN CERTIFICATE----- -MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD -VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh -bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw -MTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g -UjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT -BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx -uYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV -HQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/ -+wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147 -bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R1 O=Google Trust Services LLC -# Subject: CN=GTS Root R1 O=Google Trust Services LLC -# Label: "GTS Root R1" -# Serial: 159662320309726417404178440727 -# MD5 Fingerprint: 05:fe:d0:bf:71:a8:a3:76:63:da:01:e0:d8:52:dc:40 -# SHA1 Fingerprint: e5:8c:1c:c4:91:3b:38:63:4b:e9:10:6e:e3:ad:8e:6b:9d:d9:81:4a -# SHA256 Fingerprint: d9:47:43:2a:bd:e7:b7:fa:90:fc:2e:6b:59:10:1b:12:80:e0:e1:c7:e4:e4:0f:a3:c6:88:7f:ff:57:a7:f4:cf ------BEGIN CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo -27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w -Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw -TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl -qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH -szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 -Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk -MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 -wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p -aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN -VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb -C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe -QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy -h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 -7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J -ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef -MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ -Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT -6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ -0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm -2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb -bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R2 O=Google Trust Services LLC -# Subject: CN=GTS Root R2 O=Google Trust Services LLC -# Label: "GTS Root R2" -# Serial: 159662449406622349769042896298 -# MD5 Fingerprint: 1e:39:c0:53:e6:1e:29:82:0b:ca:52:55:36:5d:57:dc -# SHA1 Fingerprint: 9a:44:49:76:32:db:de:fa:d0:bc:fb:5a:7b:17:bd:9e:56:09:24:94 -# SHA256 Fingerprint: 8d:25:cd:97:22:9d:bf:70:35:6b:da:4e:b3:cc:73:40:31:e2:4c:f0:0f:af:cf:d3:2d:c7:6e:b5:84:1c:7e:a8 ------BEGIN CERTIFICATE----- -MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw -CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU -MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw -MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp -Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt -nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY -6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu -MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k -RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg -f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV -+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo -dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW -Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa -G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq -gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID -AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H -vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 -0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC -B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u -NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg -yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev -HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6 -xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR -TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg -JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV -7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl -6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R3 O=Google Trust Services LLC -# Subject: CN=GTS Root R3 O=Google Trust Services LLC -# Label: "GTS Root R3" -# Serial: 159662495401136852707857743206 -# MD5 Fingerprint: 3e:e7:9d:58:02:94:46:51:94:e5:e0:22:4a:8b:e7:73 -# SHA1 Fingerprint: ed:e5:71:80:2b:c8:92:b9:5b:83:3c:d2:32:68:3f:09:cd:a0:1e:46 -# SHA256 Fingerprint: 34:d8:a7:3e:e2:08:d9:bc:db:0d:95:65:20:93:4b:4e:40:e6:94:82:59:6e:8b:6f:73:c8:42:6b:01:0a:6f:48 ------BEGIN CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G -jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2 -4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7 -VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm -ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X ------END CERTIFICATE----- - -# Issuer: CN=GTS Root R4 O=Google Trust Services LLC -# Subject: CN=GTS Root R4 O=Google Trust Services LLC -# Label: "GTS Root R4" -# Serial: 159662532700760215368942768210 -# MD5 Fingerprint: 43:96:83:77:19:4d:76:b3:9d:65:52:e4:1d:22:a5:e8 -# SHA1 Fingerprint: 77:d3:03:67:b5:e0:0c:15:f6:0c:38:61:df:7c:e1:3b:92:46:4d:47 -# SHA256 Fingerprint: 34:9d:fa:40:58:c5:e2:63:12:3b:39:8a:e7:95:57:3c:4e:13:13:c8:3f:e6:8f:93:55:6c:d5:e8:03:1b:3c:7d ------BEGIN CERTIFICATE----- -MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD -VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG -A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw -WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz -IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi -QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR -HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D -9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8 -p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD ------END CERTIFICATE----- - -# Issuer: CN=Telia Root CA v2 O=Telia Finland Oyj -# Subject: CN=Telia Root CA v2 O=Telia Finland Oyj -# Label: "Telia Root CA v2" -# Serial: 7288924052977061235122729490515358 -# MD5 Fingerprint: 0e:8f:ac:aa:82:df:85:b1:f4:dc:10:1c:fc:99:d9:48 -# SHA1 Fingerprint: b9:99:cd:d1:73:50:8a:c4:47:05:08:9c:8c:88:fb:be:a0:2b:40:cd -# SHA256 Fingerprint: 24:2b:69:74:2f:cb:1e:5b:2a:bf:98:89:8b:94:57:21:87:54:4e:5b:4d:99:11:78:65:73:62:1f:6a:74:b8:2c ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx -CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE -AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1 -NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ -MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq -AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9 -vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9 -lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD -n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT -7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o -6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC -TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6 -WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R -DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI -pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj -YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy -rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ -8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi -0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM -A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS -SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K -TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF -6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er -3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt -Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT -VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW -ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA -rBPuUBQemMc= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST BR Root CA 1 2020 O=D-Trust GmbH -# Subject: CN=D-TRUST BR Root CA 1 2020 O=D-Trust GmbH -# Label: "D-TRUST BR Root CA 1 2020" -# Serial: 165870826978392376648679885835942448534 -# MD5 Fingerprint: b5:aa:4b:d5:ed:f7:e3:55:2e:8f:72:0a:f3:75:b8:ed -# SHA1 Fingerprint: 1f:5b:98:f0:e3:b5:f7:74:3c:ed:e6:b0:36:7d:32:cd:f4:09:41:67 -# SHA256 Fingerprint: e5:9a:aa:81:60:09:c2:2b:ff:5b:25:ba:d3:7d:f3:06:f0:49:79:7c:1f:81:d8:5a:b0:89:e6:57:bd:8f:00:44 ------BEGIN CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5 -NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS -zuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0 -QVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/ -VbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW -wKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV -dWNbFJWcHwHP2NVypw87 ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST EV Root CA 1 2020 O=D-Trust GmbH -# Subject: CN=D-TRUST EV Root CA 1 2020 O=D-Trust GmbH -# Label: "D-TRUST EV Root CA 1 2020" -# Serial: 126288379621884218666039612629459926992 -# MD5 Fingerprint: 8c:2d:9d:70:9f:48:99:11:06:11:fb:e9:cb:30:c0:6e -# SHA1 Fingerprint: 61:db:8c:21:59:69:03:90:d8:7c:9c:12:86:54:cf:9d:3d:f4:dd:07 -# SHA256 Fingerprint: 08:17:0d:1a:a3:64:53:90:1a:2f:95:92:45:e3:47:db:0c:8d:37:ab:aa:bc:56:b8:1a:a1:00:dc:95:89:70:db ------BEGIN CERTIFICATE----- -MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw -CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS -VVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5 -NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG -A1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB -BAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC -/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD -wpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3 -OqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g -PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf -Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l -dC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 -c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO -PQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA -y/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb -gfM0agPnIjhQW+0ZT0MW ------END CERTIFICATE----- - -# Issuer: CN=DigiCert TLS ECC P384 Root G5 O=DigiCert, Inc. -# Subject: CN=DigiCert TLS ECC P384 Root G5 O=DigiCert, Inc. -# Label: "DigiCert TLS ECC P384 Root G5" -# Serial: 13129116028163249804115411775095713523 -# MD5 Fingerprint: d3:71:04:6a:43:1c:db:a6:59:e1:a8:a3:aa:c5:71:ed -# SHA1 Fingerprint: 17:f3:de:5e:9f:0f:19:e9:8e:f6:1f:32:26:6e:20:c4:07:ae:30:ee -# SHA256 Fingerprint: 01:8e:13:f0:77:25:32:cf:80:9b:d1:b1:72:81:86:72:83:fc:48:c6:e1:3b:e9:c6:98:12:85:4a:49:0c:1b:05 ------BEGIN CERTIFICATE----- -MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp -Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 -MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ -bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS -7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp -0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS -B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 -BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ -LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 -DXZDjC5Ty3zfDBeWUA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert TLS RSA4096 Root G5 O=DigiCert, Inc. -# Subject: CN=DigiCert TLS RSA4096 Root G5 O=DigiCert, Inc. -# Label: "DigiCert TLS RSA4096 Root G5" -# Serial: 11930366277458970227240571539258396554 -# MD5 Fingerprint: ac:fe:f7:34:96:a9:f2:b3:b4:12:4b:e4:27:41:6f:e1 -# SHA1 Fingerprint: a7:88:49:dc:5d:7c:75:8c:8c:de:39:98:56:b3:aa:d0:b2:a5:71:35 -# SHA256 Fingerprint: 37:1a:00:dc:05:33:b3:72:1a:7e:eb:40:e8:41:9e:70:79:9d:2b:0a:0f:2c:1d:80:69:31:65:f7:ce:c4:ad:75 ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN -MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT -HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN -NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs -IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ -ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 -2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp -wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM -pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD -nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po -sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx -Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd -Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX -KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe -XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL -tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv -TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN -AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw -GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H -PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF -O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ -REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik -AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv -/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ -p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw -MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF -qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK -ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ ------END CERTIFICATE----- - -# Issuer: CN=Certainly Root R1 O=Certainly -# Subject: CN=Certainly Root R1 O=Certainly -# Label: "Certainly Root R1" -# Serial: 188833316161142517227353805653483829216 -# MD5 Fingerprint: 07:70:d4:3e:82:87:a0:fa:33:36:13:f4:fa:33:e7:12 -# SHA1 Fingerprint: a0:50:ee:0f:28:71:f4:27:b2:12:6d:6f:50:96:25:ba:cc:86:42:af -# SHA256 Fingerprint: 77:b8:2c:d8:64:4c:43:05:f7:ac:c5:cb:15:6b:45:67:50:04:03:3d:51:c6:0c:62:02:a8:e0:c3:34:67:d3:a0 ------BEGIN CERTIFICATE----- -MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw -PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy -dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9 -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0 -YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2 -1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT -vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed -aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0 -1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5 -r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5 -cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ -wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ -6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA -2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH -Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR -eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB -/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u -d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr -PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d -8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi -1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd -rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di -taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7 -lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj -yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn -Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy -yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n -wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6 -OV+KmalBWQewLK8= ------END CERTIFICATE----- - -# Issuer: CN=Certainly Root E1 O=Certainly -# Subject: CN=Certainly Root E1 O=Certainly -# Label: "Certainly Root E1" -# Serial: 8168531406727139161245376702891150584 -# MD5 Fingerprint: 0a:9e:ca:cd:3e:52:50:c6:36:f3:4b:a3:ed:a7:53:e9 -# SHA1 Fingerprint: f9:e1:6d:dc:01:89:cf:d5:82:45:63:3e:c5:37:7d:c2:eb:93:6f:2b -# SHA256 Fingerprint: b4:58:5f:22:e4:ac:75:6a:4e:86:12:a1:36:1c:5d:9d:03:1a:93:fd:84:fe:bb:77:8f:a3:06:8b:0f:c4:2d:c2 ------BEGIN CERTIFICATE----- -MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw -CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu -bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ -BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s -eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK -+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2 -QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4 -hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm -ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG -BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR ------END CERTIFICATE----- - -# Issuer: CN=Security Communication RootCA3 O=SECOM Trust Systems CO.,LTD. -# Subject: CN=Security Communication RootCA3 O=SECOM Trust Systems CO.,LTD. -# Label: "Security Communication RootCA3" -# Serial: 16247922307909811815 -# MD5 Fingerprint: 1c:9a:16:ff:9e:5c:e0:4d:8a:14:01:f4:35:5d:29:26 -# SHA1 Fingerprint: c3:03:c8:22:74:92:e5:61:a2:9c:5f:79:91:2b:1e:44:13:91:30:3a -# SHA256 Fingerprint: 24:a5:5c:2a:b0:51:44:2d:06:17:76:65:41:23:9a:4a:d0:32:d7:c5:51:75:aa:34:ff:de:2f:bc:4f:5c:52:94 ------BEGIN CERTIFICATE----- -MIIFfzCCA2egAwIBAgIJAOF8N0D9G/5nMA0GCSqGSIb3DQEBDAUAMF0xCzAJBgNV -BAYTAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMScw -JQYDVQQDEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTMwHhcNMTYwNjE2 -MDYxNzE2WhcNMzgwMTE4MDYxNzE2WjBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UEAxMeU2VjdXJpdHkg -Q29tbXVuaWNhdGlvbiBSb290Q0EzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC -CgKCAgEA48lySfcw3gl8qUCBWNO0Ot26YQ+TUG5pPDXC7ltzkBtnTCHsXzW7OT4r -CmDvu20rhvtxosis5FaU+cmvsXLUIKx00rgVrVH+hXShuRD+BYD5UpOzQD11EKzA -lrenfna84xtSGc4RHwsENPXY9Wk8d/Nk9A2qhd7gCVAEF5aEt8iKvE1y/By7z/MG -TfmfZPd+pmaGNXHIEYBMwXFAWB6+oHP2/D5Q4eAvJj1+XCO1eXDe+uDRpdYMQXF7 -9+qMHIjH7Iv10S9VlkZ8WjtYO/u62C21Jdp6Ts9EriGmnpjKIG58u4iFW/vAEGK7 -8vknR+/RiTlDxN/e4UG/VHMgly1s2vPUB6PmudhvrvyMGS7TZ2crldtYXLVqAvO4 -g160a75BflcJdURQVc1aEWEhCmHCqYj9E7wtiS/NYeCVvsq1e+F7NGcLH7YMx3we -GVPKp7FKFSBWFHA9K4IsD50VHUeAR/94mQ4xr28+j+2GaR57GIgUssL8gjMunEst -+3A7caoreyYn8xrC3PsXuKHqy6C0rtOUfnrQq8PsOC0RLoi/1D+tEjtCrI8Cbn3M -0V9hvqG8OmpI6iZVIhZdXw3/JzOfGAN0iltSIEdrRU0id4xVJ/CvHozJgyJUt5rQ -T9nO/NkuHJYosQLTA70lUhw0Zk8jq/R3gpYd0VcwCBEF/VfR2ccCAwEAAaNCMEAw -HQYDVR0OBBYEFGQUfPxYchamCik0FW8qy7z8r6irMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4ICAQDcAiMI4u8hOscNtybS -YpOnpSNyByCCYN8Y11StaSWSntkUz5m5UoHPrmyKO1o5yGwBQ8IibQLwYs1OY0PA -FNr0Y/Dq9HHuTofjcan0yVflLl8cebsjqodEV+m9NU1Bu0soo5iyG9kLFwfl9+qd -9XbXv8S2gVj/yP9kaWJ5rW4OH3/uHWnlt3Jxs/6lATWUVCvAUm2PVcTJ0rjLyjQI -UYWg9by0F1jqClx6vWPGOi//lkkZhOpn2ASxYfQAW0q3nHE3GYV5v4GwxxMOdnE+ -OoAGrgYWp421wsTL/0ClXI2lyTrtcoHKXJg80jQDdwj98ClZXSEIx2C/pHF7uNke -gr4Jr2VvKKu/S7XuPghHJ6APbw+LP6yVGPO5DtxnVW5inkYO0QR4ynKudtml+LLf -iAlhi+8kTtFZP1rUPcmTPCtk9YENFpb3ksP+MW/oKjJ0DvRMmEoYDjBU1cXrvMUV -nuiZIesnKwkK2/HmcBhWuwzkvvnoEKQTkrgc4NtnHVMDpCKn3F2SEDzq//wbEBrD -2NCcnWXL0CsnMQMeNuE9dnUM/0Umud1RvCPHX9jYhxBAEg09ODfnRDwYwFMJZI// -1ZqmfHAuc1Uh6N//g7kdPjIe1qZ9LPFm6Vwdp6POXiUyK+OVrCoHzrQoeIY8Laad -TdJ0MN1kURXbg4NR16/9M51NZg== ------END CERTIFICATE----- - -# Issuer: CN=Security Communication ECC RootCA1 O=SECOM Trust Systems CO.,LTD. -# Subject: CN=Security Communication ECC RootCA1 O=SECOM Trust Systems CO.,LTD. -# Label: "Security Communication ECC RootCA1" -# Serial: 15446673492073852651 -# MD5 Fingerprint: 7e:43:b0:92:68:ec:05:43:4c:98:ab:5d:35:2e:7e:86 -# SHA1 Fingerprint: b8:0e:26:a9:bf:d2:b2:3b:c0:ef:46:c9:ba:c7:bb:f6:1d:0d:41:41 -# SHA256 Fingerprint: e7:4f:bd:a5:5b:d5:64:c4:73:a3:6b:44:1a:a7:99:c8:a6:8e:07:74:40:e8:28:8b:9f:a1:e5:0e:4b:ba:ca:11 ------BEGIN CERTIFICATE----- -MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT -AkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD -VQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx -NjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT -HFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5 -IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi -AASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl -dB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK -ULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu -9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O -be0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9k= ------END CERTIFICATE----- - -# Issuer: CN=BJCA Global Root CA1 O=BEIJING CERTIFICATE AUTHORITY -# Subject: CN=BJCA Global Root CA1 O=BEIJING CERTIFICATE AUTHORITY -# Label: "BJCA Global Root CA1" -# Serial: 113562791157148395269083148143378328608 -# MD5 Fingerprint: 42:32:99:76:43:33:36:24:35:07:82:9b:28:f9:d0:90 -# SHA1 Fingerprint: d5:ec:8d:7b:4c:ba:79:f4:e7:e8:cb:9d:6b:ae:77:83:10:03:21:6a -# SHA256 Fingerprint: f3:89:6f:88:fe:7c:0a:88:27:66:a7:fa:6a:d2:74:9f:b5:7a:7f:3e:98:fb:76:9c:1f:a7:b0:9c:2c:44:d5:ae ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU -MQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI -T1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz -MTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF -SUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh -bCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z -xRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ -spDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5 -58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR -at7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll -5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq -nMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK -V0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/ -pj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO -z2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn -jSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+ -WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF -7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 -YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli -awLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u -+2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88 -X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN -SoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo -P2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI -+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz -znfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9 -eVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2 -YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy -r/6zcCwupvI= ------END CERTIFICATE----- - -# Issuer: CN=BJCA Global Root CA2 O=BEIJING CERTIFICATE AUTHORITY -# Subject: CN=BJCA Global Root CA2 O=BEIJING CERTIFICATE AUTHORITY -# Label: "BJCA Global Root CA2" -# Serial: 58605626836079930195615843123109055211 -# MD5 Fingerprint: 5e:0a:f6:47:5f:a6:14:e8:11:01:95:3f:4d:01:eb:3c -# SHA1 Fingerprint: f4:27:86:eb:6e:b8:6d:88:31:67:02:fb:ba:66:a4:53:00:aa:7a:a6 -# SHA256 Fingerprint: 57:4d:f6:93:1e:27:80:39:66:7b:72:0a:fd:c1:60:0f:c2:7e:b6:6d:d3:09:29:79:fb:73:85:64:87:21:28:82 ------BEGIN CERTIFICATE----- -MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw -CQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ -VFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy -MVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ -TkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS -b290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B -IgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+ -+kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK -sVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA -94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B -43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== ------END CERTIFICATE----- - -# Issuer: CN=Sectigo Public Server Authentication Root E46 O=Sectigo Limited -# Subject: CN=Sectigo Public Server Authentication Root E46 O=Sectigo Limited -# Label: "Sectigo Public Server Authentication Root E46" -# Serial: 88989738453351742415770396670917916916 -# MD5 Fingerprint: 28:23:f8:b2:98:5c:37:16:3b:3e:46:13:4e:b0:b3:01 -# SHA1 Fingerprint: ec:8a:39:6c:40:f0:2e:bc:42:75:d4:9f:ab:1c:1a:5b:67:be:d2:9a -# SHA256 Fingerprint: c9:0f:26:f0:fb:1b:40:18:b2:22:27:51:9b:5c:a2:b5:3e:2c:a5:b3:be:5c:f1:8e:fe:1b:ef:47:38:0c:53:83 ------BEGIN CERTIFICATE----- -MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw -CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T -ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN -MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG -A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT -ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC -WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+ -6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B -Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa -qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q -4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw== ------END CERTIFICATE----- - -# Issuer: CN=Sectigo Public Server Authentication Root R46 O=Sectigo Limited -# Subject: CN=Sectigo Public Server Authentication Root R46 O=Sectigo Limited -# Label: "Sectigo Public Server Authentication Root R46" -# Serial: 156256931880233212765902055439220583700 -# MD5 Fingerprint: 32:10:09:52:00:d5:7e:6c:43:df:15:c0:b1:16:93:e5 -# SHA1 Fingerprint: ad:98:f9:f3:e4:7d:75:3b:65:d4:82:b3:a4:52:17:bb:6e:f5:e4:38 -# SHA256 Fingerprint: 7b:b6:47:a6:2a:ee:ac:88:bf:25:7a:a5:22:d0:1f:fe:a3:95:e0:ab:45:c7:3f:93:f6:56:54:ec:38:f2:5a:06 ------BEGIN CERTIFICATE----- -MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD -Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw -HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY -MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp -YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa -ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz -SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf -iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X -ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3 -IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS -VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE -SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu -+Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt -8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L -HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt -zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P -AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c -mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ -YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52 -gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA -Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB -JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX -DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui -TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5 -dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65 -LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp -0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY -QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL ------END CERTIFICATE----- - -# Issuer: CN=SSL.com TLS RSA Root CA 2022 O=SSL Corporation -# Subject: CN=SSL.com TLS RSA Root CA 2022 O=SSL Corporation -# Label: "SSL.com TLS RSA Root CA 2022" -# Serial: 148535279242832292258835760425842727825 -# MD5 Fingerprint: d8:4e:c6:59:30:d8:fe:a0:d6:7a:5a:2c:2c:69:78:da -# SHA1 Fingerprint: ec:2c:83:40:72:af:26:95:10:ff:0e:f2:03:ee:31:70:f6:78:9d:ca -# SHA256 Fingerprint: 8f:af:7d:2e:2c:b4:70:9b:b8:e0:b3:36:66:bf:75:a5:dd:45:b5:de:48:0f:8e:a8:d4:bf:e6:be:bc:17:f2:ed ------BEGIN CERTIFICATE----- -MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO -MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD -DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX -DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw -b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP -L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY -t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins -S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3 -PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO -L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3 -R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w -dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS -+YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS -d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG -AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f -gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j -BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z -NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt -hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM -QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf -R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ -DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW -P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy -lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq -bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w -AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q -r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji -Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU -98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= ------END CERTIFICATE----- - -# Issuer: CN=SSL.com TLS ECC Root CA 2022 O=SSL Corporation -# Subject: CN=SSL.com TLS ECC Root CA 2022 O=SSL Corporation -# Label: "SSL.com TLS ECC Root CA 2022" -# Serial: 26605119622390491762507526719404364228 -# MD5 Fingerprint: 99:d7:5c:f1:51:36:cc:e9:ce:d9:19:2e:77:71:56:c5 -# SHA1 Fingerprint: 9f:5f:d9:1a:54:6d:f5:0c:71:f0:ee:7a:bd:17:49:98:84:73:e2:39 -# SHA256 Fingerprint: c3:2f:fd:9f:46:f9:36:d1:6c:36:73:99:09:59:43:4b:9a:d6:0a:af:bb:9e:7c:f3:36:54:f1:44:cc:1b:a1:43 ------BEGIN CERTIFICATE----- -MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw -CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT -U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2 -MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh -dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG -ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm -acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN -SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME -GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW -uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp -15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN -b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot Root CA ECC TLS 2021 O=Atos -# Subject: CN=Atos TrustedRoot Root CA ECC TLS 2021 O=Atos -# Label: "Atos TrustedRoot Root CA ECC TLS 2021" -# Serial: 81873346711060652204712539181482831616 -# MD5 Fingerprint: 16:9f:ad:f1:70:ad:79:d6:ed:29:b4:d1:c5:79:70:a8 -# SHA1 Fingerprint: 9e:bc:75:10:42:b3:02:f3:81:f4:f7:30:62:d4:8f:c3:a7:51:b2:dd -# SHA256 Fingerprint: b2:fa:e5:3e:14:cc:d7:ab:92:12:06:47:01:ae:27:9c:1d:89:88:fa:cb:77:5f:a8:a0:08:91:4e:66:39:88:a8 ------BEGIN CERTIFICATE----- -MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w -LAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w -CwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0 -MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF -Q0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI -zj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X -tXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4 -AjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2 -KCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD -aAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu -CCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo -9H1/IISpQuQo ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot Root CA RSA TLS 2021 O=Atos -# Subject: CN=Atos TrustedRoot Root CA RSA TLS 2021 O=Atos -# Label: "Atos TrustedRoot Root CA RSA TLS 2021" -# Serial: 111436099570196163832749341232207667876 -# MD5 Fingerprint: d4:d3:46:b8:9a:c0:9c:76:5d:9e:3a:c3:b9:99:31:d2 -# SHA1 Fingerprint: 18:52:3b:0d:06:37:e4:d6:3a:df:23:e4:98:fb:5b:16:fb:86:74:48 -# SHA256 Fingerprint: 81:a9:08:8e:a5:9f:b3:64:c5:48:a6:f8:55:59:09:9b:6f:04:05:ef:bf:18:e5:32:4e:c9:f4:57:ba:00:11:2f ------BEGIN CERTIFICATE----- -MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM -MS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx -MQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00 -MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD -QSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z -4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv -Ye+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ -kmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs -GY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln -nkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh -3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD -0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy -geBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8 -ANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB -c6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI -pw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU -dEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -DAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS -4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs -o0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ -qM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw -xfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM -rr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4 -AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR -0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY -o7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5 -dDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE -oji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyQ== ------END CERTIFICATE----- - -# Issuer: CN=TrustAsia Global Root CA G3 O=TrustAsia Technologies, Inc. -# Subject: CN=TrustAsia Global Root CA G3 O=TrustAsia Technologies, Inc. -# Label: "TrustAsia Global Root CA G3" -# Serial: 576386314500428537169965010905813481816650257167 -# MD5 Fingerprint: 30:42:1b:b7:bb:81:75:35:e4:16:4f:53:d2:94:de:04 -# SHA1 Fingerprint: 63:cf:b6:c1:27:2b:56:e4:88:8e:1c:23:9a:b6:2e:81:47:24:c3:c7 -# SHA256 Fingerprint: e0:d3:22:6a:eb:11:63:c2:e4:8f:f9:be:3b:50:b4:c6:43:1b:e7:bb:1e:ac:c5:c3:6b:5d:5e:c5:09:03:9a:08 ------BEGIN CERTIFICATE----- -MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM -BQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp -ZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe -Fw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw -IwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU -cnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS -T1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK -AtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1 -nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep -qq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA -yB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs -hH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX -zhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv -kV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT -f9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA -uPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB -o2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih -MBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E -BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4 -wM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2 -XFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1 -JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j -ITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV -VHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx -xHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on -AX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d -7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj -gKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV -+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo -FGWsJwt0ivKH ------END CERTIFICATE----- - -# Issuer: CN=TrustAsia Global Root CA G4 O=TrustAsia Technologies, Inc. -# Subject: CN=TrustAsia Global Root CA G4 O=TrustAsia Technologies, Inc. -# Label: "TrustAsia Global Root CA G4" -# Serial: 451799571007117016466790293371524403291602933463 -# MD5 Fingerprint: 54:dd:b2:d7:5f:d8:3e:ed:7c:e0:0b:2e:cc:ed:eb:eb -# SHA1 Fingerprint: 57:73:a5:61:5d:80:b2:e6:ac:38:82:fc:68:07:31:ac:9f:b5:92:5a -# SHA256 Fingerprint: be:4b:56:cb:50:56:c0:13:6a:52:6d:f4:44:50:8d:aa:36:a0:b5:4f:42:e4:ac:38:f7:2a:f4:70:e4:79:65:4c ------BEGIN CERTIFICATE----- -MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw -WjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs -IEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y -MTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD -VQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz -dEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx -s8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw -LxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij -YzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD -pm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE -AwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR -UKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj -/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== ------END CERTIFICATE----- - -# Issuer: CN=CommScope Public Trust ECC Root-01 O=CommScope -# Subject: CN=CommScope Public Trust ECC Root-01 O=CommScope -# Label: "CommScope Public Trust ECC Root-01" -# Serial: 385011430473757362783587124273108818652468453534 -# MD5 Fingerprint: 3a:40:a7:fc:03:8c:9c:38:79:2f:3a:a2:6c:b6:0a:16 -# SHA1 Fingerprint: 07:86:c0:d8:dd:8e:c0:80:98:06:98:d0:58:7a:ef:de:a6:cc:a2:5d -# SHA256 Fingerprint: 11:43:7c:da:7b:b4:5e:41:36:5f:45:b3:9a:38:98:6b:0d:e0:0d:ef:34:8e:0c:7b:b0:87:36:33:80:0b:c3:8b ------BEGIN CERTIFICATE----- -MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa -Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C -flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE -hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq -hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg -2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS -Um9poIyNStDuiw7LR47QjRE= ------END CERTIFICATE----- - -# Issuer: CN=CommScope Public Trust ECC Root-02 O=CommScope -# Subject: CN=CommScope Public Trust ECC Root-02 O=CommScope -# Label: "CommScope Public Trust ECC Root-02" -# Serial: 234015080301808452132356021271193974922492992893 -# MD5 Fingerprint: 59:b0:44:d5:65:4d:b8:5c:55:19:92:02:b6:d1:94:b2 -# SHA1 Fingerprint: 3c:3f:ef:57:0f:fe:65:93:86:9e:a0:fe:b0:f6:ed:8e:d1:13:c7:e5 -# SHA256 Fingerprint: 2f:fb:7f:81:3b:bb:b3:c8:9a:b4:e8:16:2d:0f:16:d7:15:09:a8:30:cc:9d:73:c2:62:e5:14:08:75:d1:ad:4a ------BEGIN CERTIFICATE----- -MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw -TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t -bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa -Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv -cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw -djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL -j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU -v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq -hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n -ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV -mkzw5l4lIhVtwodZ0LKOag== ------END CERTIFICATE----- - -# Issuer: CN=CommScope Public Trust RSA Root-01 O=CommScope -# Subject: CN=CommScope Public Trust RSA Root-01 O=CommScope -# Label: "CommScope Public Trust RSA Root-01" -# Serial: 354030733275608256394402989253558293562031411421 -# MD5 Fingerprint: 0e:b4:15:bc:87:63:5d:5d:02:73:d4:26:38:68:73:d8 -# SHA1 Fingerprint: 6d:0a:5f:f7:b4:23:06:b4:85:b3:b7:97:64:fc:ac:75:f5:33:f2:93 -# SHA256 Fingerprint: 02:bd:f9:6e:2a:45:dd:9b:f1:8f:c7:e1:db:df:21:a0:37:9b:a3:c9:c2:61:03:44:cf:d8:d6:06:fe:c1:ed:81 ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1 -NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk -YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh -suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al -DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj -WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl -P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547 -KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p -UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/ -kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO -Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB -Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U -CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ -KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 -NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ -nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+ -QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v -trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a -aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD -j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4 -Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w -lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn -YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc -icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw ------END CERTIFICATE----- - -# Issuer: CN=CommScope Public Trust RSA Root-02 O=CommScope -# Subject: CN=CommScope Public Trust RSA Root-02 O=CommScope -# Label: "CommScope Public Trust RSA Root-02" -# Serial: 480062499834624527752716769107743131258796508494 -# MD5 Fingerprint: e1:29:f9:62:7b:76:e2:96:6d:f3:d4:d7:0f:ae:1f:aa -# SHA1 Fingerprint: ea:b0:e2:52:1b:89:93:4c:11:68:f2:d8:9a:ac:22:4c:a3:8a:57:ae -# SHA256 Fingerprint: ff:e9:43:d7:93:42:4b:4f:7c:44:0c:1c:3d:64:8d:53:63:f3:4b:82:dc:87:aa:7a:9f:11:8f:c5:de:e1:01:f1 ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL -BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi -Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2 -NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t -U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt -MDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE -NQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0 -kyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C -rWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz -hkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2 -LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs -n/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku -FT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5 -kQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3 -wNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v -wQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs -5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ -KoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB -KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3 -+VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme -APnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq -pgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT -6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF -sQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt -PjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d -lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670 -v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O -rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7 ------END CERTIFICATE----- - -# Issuer: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH -# Subject: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH -# Label: "Telekom Security TLS ECC Root 2020" -# Serial: 72082518505882327255703894282316633856 -# MD5 Fingerprint: c1:ab:fe:6a:10:2c:03:8d:bc:1c:22:32:c0:85:a7:fd -# SHA1 Fingerprint: c0:f8:96:c5:a9:3b:01:06:21:07:da:18:42:48:bc:e9:9d:88:d5:ec -# SHA256 Fingerprint: 57:8a:f4:de:d0:85:3f:4e:59:98:db:4a:ea:f9:cb:ea:8d:94:5f:60:b6:20:a3:8d:1a:3c:13:b2:bc:7b:a8:e1 ------BEGIN CERTIFICATE----- -MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw -CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH -bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw -MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx -JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE -AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O -tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP -f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA -MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di -z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn -27iQ7t0l ------END CERTIFICATE----- - -# Issuer: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH -# Subject: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH -# Label: "Telekom Security TLS RSA Root 2023" -# Serial: 44676229530606711399881795178081572759 -# MD5 Fingerprint: bf:5b:eb:54:40:cd:48:71:c4:20:8d:7d:de:0a:42:f2 -# SHA1 Fingerprint: 54:d3:ac:b3:bd:57:56:f6:85:9d:ce:e5:c3:21:e2:d4:ad:83:d0:93 -# SHA256 Fingerprint: ef:c6:5c:ad:bb:59:ad:b6:ef:e8:4d:a2:23:11:b3:56:24:b7:1b:3b:1e:a0:da:8b:66:55:17:4e:c8:97:86:46 ------BEGIN CERTIFICATE----- -MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj -MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0 -eSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy -MDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC -REUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG -A1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ -KoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9 -cUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV -cp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA -U6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6 -Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug -BTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy -8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J -co4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg -8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8 -rFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12 -mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg -+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX -gj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 -p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ -pGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm -9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw -M807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd -GGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+ -CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t -xKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+ -w6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK -L4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj -X273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q -ntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm -dTdmQRCsu/WU48IxK63nI1bMNSWSs1A= ------END CERTIFICATE----- diff --git a/venv/lib/python3.11/site-packages/certifi/core.py b/venv/lib/python3.11/site-packages/certifi/core.py deleted file mode 100644 index 91f538b..0000000 --- a/venv/lib/python3.11/site-packages/certifi/core.py +++ /dev/null @@ -1,114 +0,0 @@ -""" -certifi.py -~~~~~~~~~~ - -This module returns the installation location of cacert.pem or its contents. -""" -import sys -import atexit - -def exit_cacert_ctx() -> None: - _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr] - - -if sys.version_info >= (3, 11): - - from importlib.resources import as_file, files - - _CACERT_CTX = None - _CACERT_PATH = None - - def where() -> str: - # This is slightly terrible, but we want to delay extracting the file - # in cases where we're inside of a zipimport situation until someone - # actually calls where(), but we don't want to re-extract the file - # on every call of where(), so we'll do it once then store it in a - # global variable. - global _CACERT_CTX - global _CACERT_PATH - if _CACERT_PATH is None: - # This is slightly janky, the importlib.resources API wants you to - # manage the cleanup of this file, so it doesn't actually return a - # path, it returns a context manager that will give you the path - # when you enter it and will do any cleanup when you leave it. In - # the common case of not needing a temporary file, it will just - # return the file system location and the __exit__() is a no-op. - # - # We also have to hold onto the actual context manager, because - # it will do the cleanup whenever it gets garbage collected, so - # we will also store that at the global level as well. - _CACERT_CTX = as_file(files("certifi").joinpath("cacert.pem")) - _CACERT_PATH = str(_CACERT_CTX.__enter__()) - atexit.register(exit_cacert_ctx) - - return _CACERT_PATH - - def contents() -> str: - return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") - -elif sys.version_info >= (3, 7): - - from importlib.resources import path as get_path, read_text - - _CACERT_CTX = None - _CACERT_PATH = None - - def where() -> str: - # This is slightly terrible, but we want to delay extracting the - # file in cases where we're inside of a zipimport situation until - # someone actually calls where(), but we don't want to re-extract - # the file on every call of where(), so we'll do it once then store - # it in a global variable. - global _CACERT_CTX - global _CACERT_PATH - if _CACERT_PATH is None: - # This is slightly janky, the importlib.resources API wants you - # to manage the cleanup of this file, so it doesn't actually - # return a path, it returns a context manager that will give - # you the path when you enter it and will do any cleanup when - # you leave it. In the common case of not needing a temporary - # file, it will just return the file system location and the - # __exit__() is a no-op. - # - # We also have to hold onto the actual context manager, because - # it will do the cleanup whenever it gets garbage collected, so - # we will also store that at the global level as well. - _CACERT_CTX = get_path("certifi", "cacert.pem") - _CACERT_PATH = str(_CACERT_CTX.__enter__()) - atexit.register(exit_cacert_ctx) - - return _CACERT_PATH - - def contents() -> str: - return read_text("certifi", "cacert.pem", encoding="ascii") - -else: - import os - import types - from typing import Union - - Package = Union[types.ModuleType, str] - Resource = Union[str, "os.PathLike"] - - # This fallback will work for Python versions prior to 3.7 that lack the - # importlib.resources module but relies on the existing `where` function - # so won't address issues with environments like PyOxidizer that don't set - # __file__ on modules. - def read_text( - package: Package, - resource: Resource, - encoding: str = 'utf-8', - errors: str = 'strict' - ) -> str: - with open(where(), encoding=encoding) as data: - return data.read() - - # If we don't have importlib.resources, then we will just do the old logic - # of assuming we're on the filesystem and munge the path directly. - def where() -> str: - f = os.path.dirname(__file__) - - return os.path.join(f, "cacert.pem") - - def contents() -> str: - return read_text("certifi", "cacert.pem", encoding="ascii") diff --git a/venv/lib/python3.11/site-packages/certifi/py.typed b/venv/lib/python3.11/site-packages/certifi/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/INSTALLER b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/INSTALLER deleted file mode 100644 index a1b589e..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/LICENSE.rst b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/LICENSE.rst deleted file mode 100644 index d12a849..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/LICENSE.rst +++ /dev/null @@ -1,28 +0,0 @@ -Copyright 2014 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/METADATA b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/METADATA deleted file mode 100644 index 7a6bbb2..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/METADATA +++ /dev/null @@ -1,103 +0,0 @@ -Metadata-Version: 2.1 -Name: click -Version: 8.1.7 -Summary: Composable command line interface toolkit -Home-page: https://palletsprojects.com/p/click/ -Maintainer: Pallets -Maintainer-email: contact@palletsprojects.com -License: BSD-3-Clause -Project-URL: Donate, https://palletsprojects.com/donate -Project-URL: Documentation, https://click.palletsprojects.com/ -Project-URL: Changes, https://click.palletsprojects.com/changes/ -Project-URL: Source Code, https://github.com/pallets/click/ -Project-URL: Issue Tracker, https://github.com/pallets/click/issues/ -Project-URL: Chat, https://discord.gg/pallets -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Requires-Python: >=3.7 -Description-Content-Type: text/x-rst -License-File: LICENSE.rst -Requires-Dist: colorama ; platform_system == "Windows" -Requires-Dist: importlib-metadata ; python_version < "3.8" - -\$ click\_ -========== - -Click is a Python package for creating beautiful command line interfaces -in a composable way with as little code as necessary. It's the "Command -Line Interface Creation Kit". It's highly configurable but comes with -sensible defaults out of the box. - -It aims to make the process of writing command line tools quick and fun -while also preventing any frustration caused by the inability to -implement an intended CLI API. - -Click in three points: - -- Arbitrary nesting of commands -- Automatic help page generation -- Supports lazy loading of subcommands at runtime - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - $ pip install -U click - -.. _pip: https://pip.pypa.io/en/stable/getting-started/ - - -A Simple Example ----------------- - -.. code-block:: python - - import click - - @click.command() - @click.option("--count", default=1, help="Number of greetings.") - @click.option("--name", prompt="Your name", help="The person to greet.") - def hello(count, name): - """Simple program that greets NAME for a total of COUNT times.""" - for _ in range(count): - click.echo(f"Hello, {name}!") - - if __name__ == '__main__': - hello() - -.. code-block:: text - - $ python hello.py --count=3 - Your name: Click - Hello, Click! - Hello, Click! - Hello, Click! - - -Donate ------- - -The Pallets organization develops and supports Click and other popular -packages. In order to grow the community of contributors and users, and -allow the maintainers to devote more time to the projects, `please -donate today`_. - -.. _please donate today: https://palletsprojects.com/donate - - -Links ------ - -- Documentation: https://click.palletsprojects.com/ -- Changes: https://click.palletsprojects.com/changes/ -- PyPI Releases: https://pypi.org/project/click/ -- Source Code: https://github.com/pallets/click -- Issue Tracker: https://github.com/pallets/click/issues -- Chat: https://discord.gg/pallets diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/RECORD b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/RECORD deleted file mode 100644 index fc0b7f5..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/RECORD +++ /dev/null @@ -1,39 +0,0 @@ -click-8.1.7.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -click-8.1.7.dist-info/LICENSE.rst,sha256=morRBqOU6FO_4h9C9OctWSgZoigF2ZG18ydQKSkrZY0,1475 -click-8.1.7.dist-info/METADATA,sha256=qIMevCxGA9yEmJOM_4WHuUJCwWpsIEVbCPOhs45YPN4,3014 -click-8.1.7.dist-info/RECORD,, -click-8.1.7.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92 -click-8.1.7.dist-info/top_level.txt,sha256=J1ZQogalYS4pphY_lPECoNMfw0HzTSrZglC4Yfwo4xA,6 -click/__init__.py,sha256=YDDbjm406dTOA0V8bTtdGnhN7zj5j-_dFRewZF_pLvw,3138 -click/__pycache__/__init__.cpython-311.pyc,, -click/__pycache__/_compat.cpython-311.pyc,, -click/__pycache__/_termui_impl.cpython-311.pyc,, -click/__pycache__/_textwrap.cpython-311.pyc,, -click/__pycache__/_winconsole.cpython-311.pyc,, -click/__pycache__/core.cpython-311.pyc,, -click/__pycache__/decorators.cpython-311.pyc,, -click/__pycache__/exceptions.cpython-311.pyc,, -click/__pycache__/formatting.cpython-311.pyc,, -click/__pycache__/globals.cpython-311.pyc,, -click/__pycache__/parser.cpython-311.pyc,, -click/__pycache__/shell_completion.cpython-311.pyc,, -click/__pycache__/termui.cpython-311.pyc,, -click/__pycache__/testing.cpython-311.pyc,, -click/__pycache__/types.cpython-311.pyc,, -click/__pycache__/utils.cpython-311.pyc,, -click/_compat.py,sha256=5318agQpbt4kroKsbqDOYpTSWzL_YCZVUQiTT04yXmc,18744 -click/_termui_impl.py,sha256=3dFYv4445Nw-rFvZOTBMBPYwB1bxnmNk9Du6Dm_oBSU,24069 -click/_textwrap.py,sha256=10fQ64OcBUMuK7mFvh8363_uoOxPlRItZBmKzRJDgoY,1353 -click/_winconsole.py,sha256=5ju3jQkcZD0W27WEMGqmEP4y_crUVzPCqsX_FYb7BO0,7860 -click/core.py,sha256=j6oEWtGgGna8JarD6WxhXmNnxLnfRjwXglbBc-8jr7U,114086 -click/decorators.py,sha256=-ZlbGYgV-oI8jr_oH4RpuL1PFS-5QmeuEAsLDAYgxtw,18719 -click/exceptions.py,sha256=fyROO-47HWFDjt2qupo7A3J32VlpM-ovJnfowu92K3s,9273 -click/formatting.py,sha256=Frf0-5W33-loyY_i9qrwXR8-STnW3m5gvyxLVUdyxyk,9706 -click/globals.py,sha256=TP-qM88STzc7f127h35TD_v920FgfOD2EwzqA0oE8XU,1961 -click/parser.py,sha256=LKyYQE9ZLj5KgIDXkrcTHQRXIggfoivX14_UVIn56YA,19067 -click/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -click/shell_completion.py,sha256=Ty3VM_ts0sQhj6u7eFTiLwHPoTgcXTGEAUg2OpLqYKw,18460 -click/termui.py,sha256=H7Q8FpmPelhJ2ovOhfCRhjMtCpNyjFXryAMLZODqsdc,28324 -click/testing.py,sha256=1Qd4kS5bucn1hsNIRryd0WtTMuCpkA93grkWxT8POsU,16084 -click/types.py,sha256=TZvz3hKvBztf-Hpa2enOmP4eznSPLzijjig5b_0XMxE,36391 -click/utils.py,sha256=1476UduUNY6UePGU4m18uzVHLt1sKM2PP3yWsQhbItM,20298 diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/WHEEL b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/WHEEL deleted file mode 100644 index 2c08da0..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.41.1) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/top_level.txt b/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/top_level.txt deleted file mode 100644 index dca9a90..0000000 --- a/venv/lib/python3.11/site-packages/click-8.1.7.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -click diff --git a/venv/lib/python3.11/site-packages/click/__init__.py b/venv/lib/python3.11/site-packages/click/__init__.py deleted file mode 100644 index 9a1dab0..0000000 --- a/venv/lib/python3.11/site-packages/click/__init__.py +++ /dev/null @@ -1,73 +0,0 @@ -""" -Click is a simple Python module inspired by the stdlib optparse to make -writing command line scripts fun. Unlike other modules, it's based -around a simple API that does not come with too much magic and is -composable. -""" -from .core import Argument as Argument -from .core import BaseCommand as BaseCommand -from .core import Command as Command -from .core import CommandCollection as CommandCollection -from .core import Context as Context -from .core import Group as Group -from .core import MultiCommand as MultiCommand -from .core import Option as Option -from .core import Parameter as Parameter -from .decorators import argument as argument -from .decorators import command as command -from .decorators import confirmation_option as confirmation_option -from .decorators import group as group -from .decorators import help_option as help_option -from .decorators import make_pass_decorator as make_pass_decorator -from .decorators import option as option -from .decorators import pass_context as pass_context -from .decorators import pass_obj as pass_obj -from .decorators import password_option as password_option -from .decorators import version_option as version_option -from .exceptions import Abort as Abort -from .exceptions import BadArgumentUsage as BadArgumentUsage -from .exceptions import BadOptionUsage as BadOptionUsage -from .exceptions import BadParameter as BadParameter -from .exceptions import ClickException as ClickException -from .exceptions import FileError as FileError -from .exceptions import MissingParameter as MissingParameter -from .exceptions import NoSuchOption as NoSuchOption -from .exceptions import UsageError as UsageError -from .formatting import HelpFormatter as HelpFormatter -from .formatting import wrap_text as wrap_text -from .globals import get_current_context as get_current_context -from .parser import OptionParser as OptionParser -from .termui import clear as clear -from .termui import confirm as confirm -from .termui import echo_via_pager as echo_via_pager -from .termui import edit as edit -from .termui import getchar as getchar -from .termui import launch as launch -from .termui import pause as pause -from .termui import progressbar as progressbar -from .termui import prompt as prompt -from .termui import secho as secho -from .termui import style as style -from .termui import unstyle as unstyle -from .types import BOOL as BOOL -from .types import Choice as Choice -from .types import DateTime as DateTime -from .types import File as File -from .types import FLOAT as FLOAT -from .types import FloatRange as FloatRange -from .types import INT as INT -from .types import IntRange as IntRange -from .types import ParamType as ParamType -from .types import Path as Path -from .types import STRING as STRING -from .types import Tuple as Tuple -from .types import UNPROCESSED as UNPROCESSED -from .types import UUID as UUID -from .utils import echo as echo -from .utils import format_filename as format_filename -from .utils import get_app_dir as get_app_dir -from .utils import get_binary_stream as get_binary_stream -from .utils import get_text_stream as get_text_stream -from .utils import open_file as open_file - -__version__ = "8.1.7" diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 5c7a0df..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/_compat.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/_compat.cpython-311.pyc deleted file mode 100644 index 9445e2f..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/_compat.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/_termui_impl.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/_termui_impl.cpython-311.pyc deleted file mode 100644 index 8200660..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/_termui_impl.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/_textwrap.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/_textwrap.cpython-311.pyc deleted file mode 100644 index e4e61f5..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/_textwrap.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/_winconsole.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/_winconsole.cpython-311.pyc deleted file mode 100644 index 1a03780..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/_winconsole.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/core.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/core.cpython-311.pyc deleted file mode 100644 index 6c15447..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/core.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/decorators.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/decorators.cpython-311.pyc deleted file mode 100644 index 40744d0..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/decorators.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/exceptions.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/exceptions.cpython-311.pyc deleted file mode 100644 index 980f722..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/exceptions.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/formatting.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/formatting.cpython-311.pyc deleted file mode 100644 index 63e2383..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/formatting.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/globals.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/globals.cpython-311.pyc deleted file mode 100644 index c077e4c..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/globals.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/parser.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/parser.cpython-311.pyc deleted file mode 100644 index cf72d09..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/parser.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/shell_completion.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/shell_completion.cpython-311.pyc deleted file mode 100644 index bba9500..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/shell_completion.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/termui.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/termui.cpython-311.pyc deleted file mode 100644 index c6e0bec..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/termui.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/testing.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/testing.cpython-311.pyc deleted file mode 100644 index 7f7ac0d..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/testing.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/types.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/types.cpython-311.pyc deleted file mode 100644 index da9a137..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/types.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/__pycache__/utils.cpython-311.pyc b/venv/lib/python3.11/site-packages/click/__pycache__/utils.cpython-311.pyc deleted file mode 100644 index f14d9ae..0000000 Binary files a/venv/lib/python3.11/site-packages/click/__pycache__/utils.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/click/_compat.py b/venv/lib/python3.11/site-packages/click/_compat.py deleted file mode 100644 index 23f8866..0000000 --- a/venv/lib/python3.11/site-packages/click/_compat.py +++ /dev/null @@ -1,623 +0,0 @@ -import codecs -import io -import os -import re -import sys -import typing as t -from weakref import WeakKeyDictionary - -CYGWIN = sys.platform.startswith("cygwin") -WIN = sys.platform.startswith("win") -auto_wrap_for_ansi: t.Optional[t.Callable[[t.TextIO], t.TextIO]] = None -_ansi_re = re.compile(r"\033\[[;?0-9]*[a-zA-Z]") - - -def _make_text_stream( - stream: t.BinaryIO, - encoding: t.Optional[str], - errors: t.Optional[str], - force_readable: bool = False, - force_writable: bool = False, -) -> t.TextIO: - if encoding is None: - encoding = get_best_encoding(stream) - if errors is None: - errors = "replace" - return _NonClosingTextIOWrapper( - stream, - encoding, - errors, - line_buffering=True, - force_readable=force_readable, - force_writable=force_writable, - ) - - -def is_ascii_encoding(encoding: str) -> bool: - """Checks if a given encoding is ascii.""" - try: - return codecs.lookup(encoding).name == "ascii" - except LookupError: - return False - - -def get_best_encoding(stream: t.IO[t.Any]) -> str: - """Returns the default stream encoding if not found.""" - rv = getattr(stream, "encoding", None) or sys.getdefaultencoding() - if is_ascii_encoding(rv): - return "utf-8" - return rv - - -class _NonClosingTextIOWrapper(io.TextIOWrapper): - def __init__( - self, - stream: t.BinaryIO, - encoding: t.Optional[str], - errors: t.Optional[str], - force_readable: bool = False, - force_writable: bool = False, - **extra: t.Any, - ) -> None: - self._stream = stream = t.cast( - t.BinaryIO, _FixupStream(stream, force_readable, force_writable) - ) - super().__init__(stream, encoding, errors, **extra) - - def __del__(self) -> None: - try: - self.detach() - except Exception: - pass - - def isatty(self) -> bool: - # https://bitbucket.org/pypy/pypy/issue/1803 - return self._stream.isatty() - - -class _FixupStream: - """The new io interface needs more from streams than streams - traditionally implement. As such, this fix-up code is necessary in - some circumstances. - - The forcing of readable and writable flags are there because some tools - put badly patched objects on sys (one such offender are certain version - of jupyter notebook). - """ - - def __init__( - self, - stream: t.BinaryIO, - force_readable: bool = False, - force_writable: bool = False, - ): - self._stream = stream - self._force_readable = force_readable - self._force_writable = force_writable - - def __getattr__(self, name: str) -> t.Any: - return getattr(self._stream, name) - - def read1(self, size: int) -> bytes: - f = getattr(self._stream, "read1", None) - - if f is not None: - return t.cast(bytes, f(size)) - - return self._stream.read(size) - - def readable(self) -> bool: - if self._force_readable: - return True - x = getattr(self._stream, "readable", None) - if x is not None: - return t.cast(bool, x()) - try: - self._stream.read(0) - except Exception: - return False - return True - - def writable(self) -> bool: - if self._force_writable: - return True - x = getattr(self._stream, "writable", None) - if x is not None: - return t.cast(bool, x()) - try: - self._stream.write("") # type: ignore - except Exception: - try: - self._stream.write(b"") - except Exception: - return False - return True - - def seekable(self) -> bool: - x = getattr(self._stream, "seekable", None) - if x is not None: - return t.cast(bool, x()) - try: - self._stream.seek(self._stream.tell()) - except Exception: - return False - return True - - -def _is_binary_reader(stream: t.IO[t.Any], default: bool = False) -> bool: - try: - return isinstance(stream.read(0), bytes) - except Exception: - return default - # This happens in some cases where the stream was already - # closed. In this case, we assume the default. - - -def _is_binary_writer(stream: t.IO[t.Any], default: bool = False) -> bool: - try: - stream.write(b"") - except Exception: - try: - stream.write("") - return False - except Exception: - pass - return default - return True - - -def _find_binary_reader(stream: t.IO[t.Any]) -> t.Optional[t.BinaryIO]: - # We need to figure out if the given stream is already binary. - # This can happen because the official docs recommend detaching - # the streams to get binary streams. Some code might do this, so - # we need to deal with this case explicitly. - if _is_binary_reader(stream, False): - return t.cast(t.BinaryIO, stream) - - buf = getattr(stream, "buffer", None) - - # Same situation here; this time we assume that the buffer is - # actually binary in case it's closed. - if buf is not None and _is_binary_reader(buf, True): - return t.cast(t.BinaryIO, buf) - - return None - - -def _find_binary_writer(stream: t.IO[t.Any]) -> t.Optional[t.BinaryIO]: - # We need to figure out if the given stream is already binary. - # This can happen because the official docs recommend detaching - # the streams to get binary streams. Some code might do this, so - # we need to deal with this case explicitly. - if _is_binary_writer(stream, False): - return t.cast(t.BinaryIO, stream) - - buf = getattr(stream, "buffer", None) - - # Same situation here; this time we assume that the buffer is - # actually binary in case it's closed. - if buf is not None and _is_binary_writer(buf, True): - return t.cast(t.BinaryIO, buf) - - return None - - -def _stream_is_misconfigured(stream: t.TextIO) -> bool: - """A stream is misconfigured if its encoding is ASCII.""" - # If the stream does not have an encoding set, we assume it's set - # to ASCII. This appears to happen in certain unittest - # environments. It's not quite clear what the correct behavior is - # but this at least will force Click to recover somehow. - return is_ascii_encoding(getattr(stream, "encoding", None) or "ascii") - - -def _is_compat_stream_attr(stream: t.TextIO, attr: str, value: t.Optional[str]) -> bool: - """A stream attribute is compatible if it is equal to the - desired value or the desired value is unset and the attribute - has a value. - """ - stream_value = getattr(stream, attr, None) - return stream_value == value or (value is None and stream_value is not None) - - -def _is_compatible_text_stream( - stream: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] -) -> bool: - """Check if a stream's encoding and errors attributes are - compatible with the desired values. - """ - return _is_compat_stream_attr( - stream, "encoding", encoding - ) and _is_compat_stream_attr(stream, "errors", errors) - - -def _force_correct_text_stream( - text_stream: t.IO[t.Any], - encoding: t.Optional[str], - errors: t.Optional[str], - is_binary: t.Callable[[t.IO[t.Any], bool], bool], - find_binary: t.Callable[[t.IO[t.Any]], t.Optional[t.BinaryIO]], - force_readable: bool = False, - force_writable: bool = False, -) -> t.TextIO: - if is_binary(text_stream, False): - binary_reader = t.cast(t.BinaryIO, text_stream) - else: - text_stream = t.cast(t.TextIO, text_stream) - # If the stream looks compatible, and won't default to a - # misconfigured ascii encoding, return it as-is. - if _is_compatible_text_stream(text_stream, encoding, errors) and not ( - encoding is None and _stream_is_misconfigured(text_stream) - ): - return text_stream - - # Otherwise, get the underlying binary reader. - possible_binary_reader = find_binary(text_stream) - - # If that's not possible, silently use the original reader - # and get mojibake instead of exceptions. - if possible_binary_reader is None: - return text_stream - - binary_reader = possible_binary_reader - - # Default errors to replace instead of strict in order to get - # something that works. - if errors is None: - errors = "replace" - - # Wrap the binary stream in a text stream with the correct - # encoding parameters. - return _make_text_stream( - binary_reader, - encoding, - errors, - force_readable=force_readable, - force_writable=force_writable, - ) - - -def _force_correct_text_reader( - text_reader: t.IO[t.Any], - encoding: t.Optional[str], - errors: t.Optional[str], - force_readable: bool = False, -) -> t.TextIO: - return _force_correct_text_stream( - text_reader, - encoding, - errors, - _is_binary_reader, - _find_binary_reader, - force_readable=force_readable, - ) - - -def _force_correct_text_writer( - text_writer: t.IO[t.Any], - encoding: t.Optional[str], - errors: t.Optional[str], - force_writable: bool = False, -) -> t.TextIO: - return _force_correct_text_stream( - text_writer, - encoding, - errors, - _is_binary_writer, - _find_binary_writer, - force_writable=force_writable, - ) - - -def get_binary_stdin() -> t.BinaryIO: - reader = _find_binary_reader(sys.stdin) - if reader is None: - raise RuntimeError("Was not able to determine binary stream for sys.stdin.") - return reader - - -def get_binary_stdout() -> t.BinaryIO: - writer = _find_binary_writer(sys.stdout) - if writer is None: - raise RuntimeError("Was not able to determine binary stream for sys.stdout.") - return writer - - -def get_binary_stderr() -> t.BinaryIO: - writer = _find_binary_writer(sys.stderr) - if writer is None: - raise RuntimeError("Was not able to determine binary stream for sys.stderr.") - return writer - - -def get_text_stdin( - encoding: t.Optional[str] = None, errors: t.Optional[str] = None -) -> t.TextIO: - rv = _get_windows_console_stream(sys.stdin, encoding, errors) - if rv is not None: - return rv - return _force_correct_text_reader(sys.stdin, encoding, errors, force_readable=True) - - -def get_text_stdout( - encoding: t.Optional[str] = None, errors: t.Optional[str] = None -) -> t.TextIO: - rv = _get_windows_console_stream(sys.stdout, encoding, errors) - if rv is not None: - return rv - return _force_correct_text_writer(sys.stdout, encoding, errors, force_writable=True) - - -def get_text_stderr( - encoding: t.Optional[str] = None, errors: t.Optional[str] = None -) -> t.TextIO: - rv = _get_windows_console_stream(sys.stderr, encoding, errors) - if rv is not None: - return rv - return _force_correct_text_writer(sys.stderr, encoding, errors, force_writable=True) - - -def _wrap_io_open( - file: t.Union[str, "os.PathLike[str]", int], - mode: str, - encoding: t.Optional[str], - errors: t.Optional[str], -) -> t.IO[t.Any]: - """Handles not passing ``encoding`` and ``errors`` in binary mode.""" - if "b" in mode: - return open(file, mode) - - return open(file, mode, encoding=encoding, errors=errors) - - -def open_stream( - filename: "t.Union[str, os.PathLike[str]]", - mode: str = "r", - encoding: t.Optional[str] = None, - errors: t.Optional[str] = "strict", - atomic: bool = False, -) -> t.Tuple[t.IO[t.Any], bool]: - binary = "b" in mode - filename = os.fspath(filename) - - # Standard streams first. These are simple because they ignore the - # atomic flag. Use fsdecode to handle Path("-"). - if os.fsdecode(filename) == "-": - if any(m in mode for m in ["w", "a", "x"]): - if binary: - return get_binary_stdout(), False - return get_text_stdout(encoding=encoding, errors=errors), False - if binary: - return get_binary_stdin(), False - return get_text_stdin(encoding=encoding, errors=errors), False - - # Non-atomic writes directly go out through the regular open functions. - if not atomic: - return _wrap_io_open(filename, mode, encoding, errors), True - - # Some usability stuff for atomic writes - if "a" in mode: - raise ValueError( - "Appending to an existing file is not supported, because that" - " would involve an expensive `copy`-operation to a temporary" - " file. Open the file in normal `w`-mode and copy explicitly" - " if that's what you're after." - ) - if "x" in mode: - raise ValueError("Use the `overwrite`-parameter instead.") - if "w" not in mode: - raise ValueError("Atomic writes only make sense with `w`-mode.") - - # Atomic writes are more complicated. They work by opening a file - # as a proxy in the same folder and then using the fdopen - # functionality to wrap it in a Python file. Then we wrap it in an - # atomic file that moves the file over on close. - import errno - import random - - try: - perm: t.Optional[int] = os.stat(filename).st_mode - except OSError: - perm = None - - flags = os.O_RDWR | os.O_CREAT | os.O_EXCL - - if binary: - flags |= getattr(os, "O_BINARY", 0) - - while True: - tmp_filename = os.path.join( - os.path.dirname(filename), - f".__atomic-write{random.randrange(1 << 32):08x}", - ) - try: - fd = os.open(tmp_filename, flags, 0o666 if perm is None else perm) - break - except OSError as e: - if e.errno == errno.EEXIST or ( - os.name == "nt" - and e.errno == errno.EACCES - and os.path.isdir(e.filename) - and os.access(e.filename, os.W_OK) - ): - continue - raise - - if perm is not None: - os.chmod(tmp_filename, perm) # in case perm includes bits in umask - - f = _wrap_io_open(fd, mode, encoding, errors) - af = _AtomicFile(f, tmp_filename, os.path.realpath(filename)) - return t.cast(t.IO[t.Any], af), True - - -class _AtomicFile: - def __init__(self, f: t.IO[t.Any], tmp_filename: str, real_filename: str) -> None: - self._f = f - self._tmp_filename = tmp_filename - self._real_filename = real_filename - self.closed = False - - @property - def name(self) -> str: - return self._real_filename - - def close(self, delete: bool = False) -> None: - if self.closed: - return - self._f.close() - os.replace(self._tmp_filename, self._real_filename) - self.closed = True - - def __getattr__(self, name: str) -> t.Any: - return getattr(self._f, name) - - def __enter__(self) -> "_AtomicFile": - return self - - def __exit__(self, exc_type: t.Optional[t.Type[BaseException]], *_: t.Any) -> None: - self.close(delete=exc_type is not None) - - def __repr__(self) -> str: - return repr(self._f) - - -def strip_ansi(value: str) -> str: - return _ansi_re.sub("", value) - - -def _is_jupyter_kernel_output(stream: t.IO[t.Any]) -> bool: - while isinstance(stream, (_FixupStream, _NonClosingTextIOWrapper)): - stream = stream._stream - - return stream.__class__.__module__.startswith("ipykernel.") - - -def should_strip_ansi( - stream: t.Optional[t.IO[t.Any]] = None, color: t.Optional[bool] = None -) -> bool: - if color is None: - if stream is None: - stream = sys.stdin - return not isatty(stream) and not _is_jupyter_kernel_output(stream) - return not color - - -# On Windows, wrap the output streams with colorama to support ANSI -# color codes. -# NOTE: double check is needed so mypy does not analyze this on Linux -if sys.platform.startswith("win") and WIN: - from ._winconsole import _get_windows_console_stream - - def _get_argv_encoding() -> str: - import locale - - return locale.getpreferredencoding() - - _ansi_stream_wrappers: t.MutableMapping[t.TextIO, t.TextIO] = WeakKeyDictionary() - - def auto_wrap_for_ansi( # noqa: F811 - stream: t.TextIO, color: t.Optional[bool] = None - ) -> t.TextIO: - """Support ANSI color and style codes on Windows by wrapping a - stream with colorama. - """ - try: - cached = _ansi_stream_wrappers.get(stream) - except Exception: - cached = None - - if cached is not None: - return cached - - import colorama - - strip = should_strip_ansi(stream, color) - ansi_wrapper = colorama.AnsiToWin32(stream, strip=strip) - rv = t.cast(t.TextIO, ansi_wrapper.stream) - _write = rv.write - - def _safe_write(s): - try: - return _write(s) - except BaseException: - ansi_wrapper.reset_all() - raise - - rv.write = _safe_write - - try: - _ansi_stream_wrappers[stream] = rv - except Exception: - pass - - return rv - -else: - - def _get_argv_encoding() -> str: - return getattr(sys.stdin, "encoding", None) or sys.getfilesystemencoding() - - def _get_windows_console_stream( - f: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] - ) -> t.Optional[t.TextIO]: - return None - - -def term_len(x: str) -> int: - return len(strip_ansi(x)) - - -def isatty(stream: t.IO[t.Any]) -> bool: - try: - return stream.isatty() - except Exception: - return False - - -def _make_cached_stream_func( - src_func: t.Callable[[], t.Optional[t.TextIO]], - wrapper_func: t.Callable[[], t.TextIO], -) -> t.Callable[[], t.Optional[t.TextIO]]: - cache: t.MutableMapping[t.TextIO, t.TextIO] = WeakKeyDictionary() - - def func() -> t.Optional[t.TextIO]: - stream = src_func() - - if stream is None: - return None - - try: - rv = cache.get(stream) - except Exception: - rv = None - if rv is not None: - return rv - rv = wrapper_func() - try: - cache[stream] = rv - except Exception: - pass - return rv - - return func - - -_default_text_stdin = _make_cached_stream_func(lambda: sys.stdin, get_text_stdin) -_default_text_stdout = _make_cached_stream_func(lambda: sys.stdout, get_text_stdout) -_default_text_stderr = _make_cached_stream_func(lambda: sys.stderr, get_text_stderr) - - -binary_streams: t.Mapping[str, t.Callable[[], t.BinaryIO]] = { - "stdin": get_binary_stdin, - "stdout": get_binary_stdout, - "stderr": get_binary_stderr, -} - -text_streams: t.Mapping[ - str, t.Callable[[t.Optional[str], t.Optional[str]], t.TextIO] -] = { - "stdin": get_text_stdin, - "stdout": get_text_stdout, - "stderr": get_text_stderr, -} diff --git a/venv/lib/python3.11/site-packages/click/_termui_impl.py b/venv/lib/python3.11/site-packages/click/_termui_impl.py deleted file mode 100644 index f744657..0000000 --- a/venv/lib/python3.11/site-packages/click/_termui_impl.py +++ /dev/null @@ -1,739 +0,0 @@ -""" -This module contains implementations for the termui module. To keep the -import time of Click down, some infrequently used functionality is -placed in this module and only imported as needed. -""" -import contextlib -import math -import os -import sys -import time -import typing as t -from gettext import gettext as _ -from io import StringIO -from types import TracebackType - -from ._compat import _default_text_stdout -from ._compat import CYGWIN -from ._compat import get_best_encoding -from ._compat import isatty -from ._compat import open_stream -from ._compat import strip_ansi -from ._compat import term_len -from ._compat import WIN -from .exceptions import ClickException -from .utils import echo - -V = t.TypeVar("V") - -if os.name == "nt": - BEFORE_BAR = "\r" - AFTER_BAR = "\n" -else: - BEFORE_BAR = "\r\033[?25l" - AFTER_BAR = "\033[?25h\n" - - -class ProgressBar(t.Generic[V]): - def __init__( - self, - iterable: t.Optional[t.Iterable[V]], - length: t.Optional[int] = None, - fill_char: str = "#", - empty_char: str = " ", - bar_template: str = "%(bar)s", - info_sep: str = " ", - show_eta: bool = True, - show_percent: t.Optional[bool] = None, - show_pos: bool = False, - item_show_func: t.Optional[t.Callable[[t.Optional[V]], t.Optional[str]]] = None, - label: t.Optional[str] = None, - file: t.Optional[t.TextIO] = None, - color: t.Optional[bool] = None, - update_min_steps: int = 1, - width: int = 30, - ) -> None: - self.fill_char = fill_char - self.empty_char = empty_char - self.bar_template = bar_template - self.info_sep = info_sep - self.show_eta = show_eta - self.show_percent = show_percent - self.show_pos = show_pos - self.item_show_func = item_show_func - self.label: str = label or "" - - if file is None: - file = _default_text_stdout() - - # There are no standard streams attached to write to. For example, - # pythonw on Windows. - if file is None: - file = StringIO() - - self.file = file - self.color = color - self.update_min_steps = update_min_steps - self._completed_intervals = 0 - self.width: int = width - self.autowidth: bool = width == 0 - - if length is None: - from operator import length_hint - - length = length_hint(iterable, -1) - - if length == -1: - length = None - if iterable is None: - if length is None: - raise TypeError("iterable or length is required") - iterable = t.cast(t.Iterable[V], range(length)) - self.iter: t.Iterable[V] = iter(iterable) - self.length = length - self.pos = 0 - self.avg: t.List[float] = [] - self.last_eta: float - self.start: float - self.start = self.last_eta = time.time() - self.eta_known: bool = False - self.finished: bool = False - self.max_width: t.Optional[int] = None - self.entered: bool = False - self.current_item: t.Optional[V] = None - self.is_hidden: bool = not isatty(self.file) - self._last_line: t.Optional[str] = None - - def __enter__(self) -> "ProgressBar[V]": - self.entered = True - self.render_progress() - return self - - def __exit__( - self, - exc_type: t.Optional[t.Type[BaseException]], - exc_value: t.Optional[BaseException], - tb: t.Optional[TracebackType], - ) -> None: - self.render_finish() - - def __iter__(self) -> t.Iterator[V]: - if not self.entered: - raise RuntimeError("You need to use progress bars in a with block.") - self.render_progress() - return self.generator() - - def __next__(self) -> V: - # Iteration is defined in terms of a generator function, - # returned by iter(self); use that to define next(). This works - # because `self.iter` is an iterable consumed by that generator, - # so it is re-entry safe. Calling `next(self.generator())` - # twice works and does "what you want". - return next(iter(self)) - - def render_finish(self) -> None: - if self.is_hidden: - return - self.file.write(AFTER_BAR) - self.file.flush() - - @property - def pct(self) -> float: - if self.finished: - return 1.0 - return min(self.pos / (float(self.length or 1) or 1), 1.0) - - @property - def time_per_iteration(self) -> float: - if not self.avg: - return 0.0 - return sum(self.avg) / float(len(self.avg)) - - @property - def eta(self) -> float: - if self.length is not None and not self.finished: - return self.time_per_iteration * (self.length - self.pos) - return 0.0 - - def format_eta(self) -> str: - if self.eta_known: - t = int(self.eta) - seconds = t % 60 - t //= 60 - minutes = t % 60 - t //= 60 - hours = t % 24 - t //= 24 - if t > 0: - return f"{t}d {hours:02}:{minutes:02}:{seconds:02}" - else: - return f"{hours:02}:{minutes:02}:{seconds:02}" - return "" - - def format_pos(self) -> str: - pos = str(self.pos) - if self.length is not None: - pos += f"/{self.length}" - return pos - - def format_pct(self) -> str: - return f"{int(self.pct * 100): 4}%"[1:] - - def format_bar(self) -> str: - if self.length is not None: - bar_length = int(self.pct * self.width) - bar = self.fill_char * bar_length - bar += self.empty_char * (self.width - bar_length) - elif self.finished: - bar = self.fill_char * self.width - else: - chars = list(self.empty_char * (self.width or 1)) - if self.time_per_iteration != 0: - chars[ - int( - (math.cos(self.pos * self.time_per_iteration) / 2.0 + 0.5) - * self.width - ) - ] = self.fill_char - bar = "".join(chars) - return bar - - def format_progress_line(self) -> str: - show_percent = self.show_percent - - info_bits = [] - if self.length is not None and show_percent is None: - show_percent = not self.show_pos - - if self.show_pos: - info_bits.append(self.format_pos()) - if show_percent: - info_bits.append(self.format_pct()) - if self.show_eta and self.eta_known and not self.finished: - info_bits.append(self.format_eta()) - if self.item_show_func is not None: - item_info = self.item_show_func(self.current_item) - if item_info is not None: - info_bits.append(item_info) - - return ( - self.bar_template - % { - "label": self.label, - "bar": self.format_bar(), - "info": self.info_sep.join(info_bits), - } - ).rstrip() - - def render_progress(self) -> None: - import shutil - - if self.is_hidden: - # Only output the label as it changes if the output is not a - # TTY. Use file=stderr if you expect to be piping stdout. - if self._last_line != self.label: - self._last_line = self.label - echo(self.label, file=self.file, color=self.color) - - return - - buf = [] - # Update width in case the terminal has been resized - if self.autowidth: - old_width = self.width - self.width = 0 - clutter_length = term_len(self.format_progress_line()) - new_width = max(0, shutil.get_terminal_size().columns - clutter_length) - if new_width < old_width: - buf.append(BEFORE_BAR) - buf.append(" " * self.max_width) # type: ignore - self.max_width = new_width - self.width = new_width - - clear_width = self.width - if self.max_width is not None: - clear_width = self.max_width - - buf.append(BEFORE_BAR) - line = self.format_progress_line() - line_len = term_len(line) - if self.max_width is None or self.max_width < line_len: - self.max_width = line_len - - buf.append(line) - buf.append(" " * (clear_width - line_len)) - line = "".join(buf) - # Render the line only if it changed. - - if line != self._last_line: - self._last_line = line - echo(line, file=self.file, color=self.color, nl=False) - self.file.flush() - - def make_step(self, n_steps: int) -> None: - self.pos += n_steps - if self.length is not None and self.pos >= self.length: - self.finished = True - - if (time.time() - self.last_eta) < 1.0: - return - - self.last_eta = time.time() - - # self.avg is a rolling list of length <= 7 of steps where steps are - # defined as time elapsed divided by the total progress through - # self.length. - if self.pos: - step = (time.time() - self.start) / self.pos - else: - step = time.time() - self.start - - self.avg = self.avg[-6:] + [step] - - self.eta_known = self.length is not None - - def update(self, n_steps: int, current_item: t.Optional[V] = None) -> None: - """Update the progress bar by advancing a specified number of - steps, and optionally set the ``current_item`` for this new - position. - - :param n_steps: Number of steps to advance. - :param current_item: Optional item to set as ``current_item`` - for the updated position. - - .. versionchanged:: 8.0 - Added the ``current_item`` optional parameter. - - .. versionchanged:: 8.0 - Only render when the number of steps meets the - ``update_min_steps`` threshold. - """ - if current_item is not None: - self.current_item = current_item - - self._completed_intervals += n_steps - - if self._completed_intervals >= self.update_min_steps: - self.make_step(self._completed_intervals) - self.render_progress() - self._completed_intervals = 0 - - def finish(self) -> None: - self.eta_known = False - self.current_item = None - self.finished = True - - def generator(self) -> t.Iterator[V]: - """Return a generator which yields the items added to the bar - during construction, and updates the progress bar *after* the - yielded block returns. - """ - # WARNING: the iterator interface for `ProgressBar` relies on - # this and only works because this is a simple generator which - # doesn't create or manage additional state. If this function - # changes, the impact should be evaluated both against - # `iter(bar)` and `next(bar)`. `next()` in particular may call - # `self.generator()` repeatedly, and this must remain safe in - # order for that interface to work. - if not self.entered: - raise RuntimeError("You need to use progress bars in a with block.") - - if self.is_hidden: - yield from self.iter - else: - for rv in self.iter: - self.current_item = rv - - # This allows show_item_func to be updated before the - # item is processed. Only trigger at the beginning of - # the update interval. - if self._completed_intervals == 0: - self.render_progress() - - yield rv - self.update(1) - - self.finish() - self.render_progress() - - -def pager(generator: t.Iterable[str], color: t.Optional[bool] = None) -> None: - """Decide what method to use for paging through text.""" - stdout = _default_text_stdout() - - # There are no standard streams attached to write to. For example, - # pythonw on Windows. - if stdout is None: - stdout = StringIO() - - if not isatty(sys.stdin) or not isatty(stdout): - return _nullpager(stdout, generator, color) - pager_cmd = (os.environ.get("PAGER", None) or "").strip() - if pager_cmd: - if WIN: - return _tempfilepager(generator, pager_cmd, color) - return _pipepager(generator, pager_cmd, color) - if os.environ.get("TERM") in ("dumb", "emacs"): - return _nullpager(stdout, generator, color) - if WIN or sys.platform.startswith("os2"): - return _tempfilepager(generator, "more <", color) - if hasattr(os, "system") and os.system("(less) 2>/dev/null") == 0: - return _pipepager(generator, "less", color) - - import tempfile - - fd, filename = tempfile.mkstemp() - os.close(fd) - try: - if hasattr(os, "system") and os.system(f'more "{filename}"') == 0: - return _pipepager(generator, "more", color) - return _nullpager(stdout, generator, color) - finally: - os.unlink(filename) - - -def _pipepager(generator: t.Iterable[str], cmd: str, color: t.Optional[bool]) -> None: - """Page through text by feeding it to another program. Invoking a - pager through this might support colors. - """ - import subprocess - - env = dict(os.environ) - - # If we're piping to less we might support colors under the - # condition that - cmd_detail = cmd.rsplit("/", 1)[-1].split() - if color is None and cmd_detail[0] == "less": - less_flags = f"{os.environ.get('LESS', '')}{' '.join(cmd_detail[1:])}" - if not less_flags: - env["LESS"] = "-R" - color = True - elif "r" in less_flags or "R" in less_flags: - color = True - - c = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, env=env) - stdin = t.cast(t.BinaryIO, c.stdin) - encoding = get_best_encoding(stdin) - try: - for text in generator: - if not color: - text = strip_ansi(text) - - stdin.write(text.encode(encoding, "replace")) - except (OSError, KeyboardInterrupt): - pass - else: - stdin.close() - - # Less doesn't respect ^C, but catches it for its own UI purposes (aborting - # search or other commands inside less). - # - # That means when the user hits ^C, the parent process (click) terminates, - # but less is still alive, paging the output and messing up the terminal. - # - # If the user wants to make the pager exit on ^C, they should set - # `LESS='-K'`. It's not our decision to make. - while True: - try: - c.wait() - except KeyboardInterrupt: - pass - else: - break - - -def _tempfilepager( - generator: t.Iterable[str], cmd: str, color: t.Optional[bool] -) -> None: - """Page through text by invoking a program on a temporary file.""" - import tempfile - - fd, filename = tempfile.mkstemp() - # TODO: This never terminates if the passed generator never terminates. - text = "".join(generator) - if not color: - text = strip_ansi(text) - encoding = get_best_encoding(sys.stdout) - with open_stream(filename, "wb")[0] as f: - f.write(text.encode(encoding)) - try: - os.system(f'{cmd} "{filename}"') - finally: - os.close(fd) - os.unlink(filename) - - -def _nullpager( - stream: t.TextIO, generator: t.Iterable[str], color: t.Optional[bool] -) -> None: - """Simply print unformatted text. This is the ultimate fallback.""" - for text in generator: - if not color: - text = strip_ansi(text) - stream.write(text) - - -class Editor: - def __init__( - self, - editor: t.Optional[str] = None, - env: t.Optional[t.Mapping[str, str]] = None, - require_save: bool = True, - extension: str = ".txt", - ) -> None: - self.editor = editor - self.env = env - self.require_save = require_save - self.extension = extension - - def get_editor(self) -> str: - if self.editor is not None: - return self.editor - for key in "VISUAL", "EDITOR": - rv = os.environ.get(key) - if rv: - return rv - if WIN: - return "notepad" - for editor in "sensible-editor", "vim", "nano": - if os.system(f"which {editor} >/dev/null 2>&1") == 0: - return editor - return "vi" - - def edit_file(self, filename: str) -> None: - import subprocess - - editor = self.get_editor() - environ: t.Optional[t.Dict[str, str]] = None - - if self.env: - environ = os.environ.copy() - environ.update(self.env) - - try: - c = subprocess.Popen(f'{editor} "{filename}"', env=environ, shell=True) - exit_code = c.wait() - if exit_code != 0: - raise ClickException( - _("{editor}: Editing failed").format(editor=editor) - ) - except OSError as e: - raise ClickException( - _("{editor}: Editing failed: {e}").format(editor=editor, e=e) - ) from e - - def edit(self, text: t.Optional[t.AnyStr]) -> t.Optional[t.AnyStr]: - import tempfile - - if not text: - data = b"" - elif isinstance(text, (bytes, bytearray)): - data = text - else: - if text and not text.endswith("\n"): - text += "\n" - - if WIN: - data = text.replace("\n", "\r\n").encode("utf-8-sig") - else: - data = text.encode("utf-8") - - fd, name = tempfile.mkstemp(prefix="editor-", suffix=self.extension) - f: t.BinaryIO - - try: - with os.fdopen(fd, "wb") as f: - f.write(data) - - # If the filesystem resolution is 1 second, like Mac OS - # 10.12 Extended, or 2 seconds, like FAT32, and the editor - # closes very fast, require_save can fail. Set the modified - # time to be 2 seconds in the past to work around this. - os.utime(name, (os.path.getatime(name), os.path.getmtime(name) - 2)) - # Depending on the resolution, the exact value might not be - # recorded, so get the new recorded value. - timestamp = os.path.getmtime(name) - - self.edit_file(name) - - if self.require_save and os.path.getmtime(name) == timestamp: - return None - - with open(name, "rb") as f: - rv = f.read() - - if isinstance(text, (bytes, bytearray)): - return rv - - return rv.decode("utf-8-sig").replace("\r\n", "\n") # type: ignore - finally: - os.unlink(name) - - -def open_url(url: str, wait: bool = False, locate: bool = False) -> int: - import subprocess - - def _unquote_file(url: str) -> str: - from urllib.parse import unquote - - if url.startswith("file://"): - url = unquote(url[7:]) - - return url - - if sys.platform == "darwin": - args = ["open"] - if wait: - args.append("-W") - if locate: - args.append("-R") - args.append(_unquote_file(url)) - null = open("/dev/null", "w") - try: - return subprocess.Popen(args, stderr=null).wait() - finally: - null.close() - elif WIN: - if locate: - url = _unquote_file(url.replace('"', "")) - args = f'explorer /select,"{url}"' - else: - url = url.replace('"', "") - wait_str = "/WAIT" if wait else "" - args = f'start {wait_str} "" "{url}"' - return os.system(args) - elif CYGWIN: - if locate: - url = os.path.dirname(_unquote_file(url).replace('"', "")) - args = f'cygstart "{url}"' - else: - url = url.replace('"', "") - wait_str = "-w" if wait else "" - args = f'cygstart {wait_str} "{url}"' - return os.system(args) - - try: - if locate: - url = os.path.dirname(_unquote_file(url)) or "." - else: - url = _unquote_file(url) - c = subprocess.Popen(["xdg-open", url]) - if wait: - return c.wait() - return 0 - except OSError: - if url.startswith(("http://", "https://")) and not locate and not wait: - import webbrowser - - webbrowser.open(url) - return 0 - return 1 - - -def _translate_ch_to_exc(ch: str) -> t.Optional[BaseException]: - if ch == "\x03": - raise KeyboardInterrupt() - - if ch == "\x04" and not WIN: # Unix-like, Ctrl+D - raise EOFError() - - if ch == "\x1a" and WIN: # Windows, Ctrl+Z - raise EOFError() - - return None - - -if WIN: - import msvcrt - - @contextlib.contextmanager - def raw_terminal() -> t.Iterator[int]: - yield -1 - - def getchar(echo: bool) -> str: - # The function `getch` will return a bytes object corresponding to - # the pressed character. Since Windows 10 build 1803, it will also - # return \x00 when called a second time after pressing a regular key. - # - # `getwch` does not share this probably-bugged behavior. Moreover, it - # returns a Unicode object by default, which is what we want. - # - # Either of these functions will return \x00 or \xe0 to indicate - # a special key, and you need to call the same function again to get - # the "rest" of the code. The fun part is that \u00e0 is - # "latin small letter a with grave", so if you type that on a French - # keyboard, you _also_ get a \xe0. - # E.g., consider the Up arrow. This returns \xe0 and then \x48. The - # resulting Unicode string reads as "a with grave" + "capital H". - # This is indistinguishable from when the user actually types - # "a with grave" and then "capital H". - # - # When \xe0 is returned, we assume it's part of a special-key sequence - # and call `getwch` again, but that means that when the user types - # the \u00e0 character, `getchar` doesn't return until a second - # character is typed. - # The alternative is returning immediately, but that would mess up - # cross-platform handling of arrow keys and others that start with - # \xe0. Another option is using `getch`, but then we can't reliably - # read non-ASCII characters, because return values of `getch` are - # limited to the current 8-bit codepage. - # - # Anyway, Click doesn't claim to do this Right(tm), and using `getwch` - # is doing the right thing in more situations than with `getch`. - func: t.Callable[[], str] - - if echo: - func = msvcrt.getwche # type: ignore - else: - func = msvcrt.getwch # type: ignore - - rv = func() - - if rv in ("\x00", "\xe0"): - # \x00 and \xe0 are control characters that indicate special key, - # see above. - rv += func() - - _translate_ch_to_exc(rv) - return rv - -else: - import tty - import termios - - @contextlib.contextmanager - def raw_terminal() -> t.Iterator[int]: - f: t.Optional[t.TextIO] - fd: int - - if not isatty(sys.stdin): - f = open("/dev/tty") - fd = f.fileno() - else: - fd = sys.stdin.fileno() - f = None - - try: - old_settings = termios.tcgetattr(fd) - - try: - tty.setraw(fd) - yield fd - finally: - termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) - sys.stdout.flush() - - if f is not None: - f.close() - except termios.error: - pass - - def getchar(echo: bool) -> str: - with raw_terminal() as fd: - ch = os.read(fd, 32).decode(get_best_encoding(sys.stdin), "replace") - - if echo and isatty(sys.stdout): - sys.stdout.write(ch) - - _translate_ch_to_exc(ch) - return ch diff --git a/venv/lib/python3.11/site-packages/click/_textwrap.py b/venv/lib/python3.11/site-packages/click/_textwrap.py deleted file mode 100644 index b47dcbd..0000000 --- a/venv/lib/python3.11/site-packages/click/_textwrap.py +++ /dev/null @@ -1,49 +0,0 @@ -import textwrap -import typing as t -from contextlib import contextmanager - - -class TextWrapper(textwrap.TextWrapper): - def _handle_long_word( - self, - reversed_chunks: t.List[str], - cur_line: t.List[str], - cur_len: int, - width: int, - ) -> None: - space_left = max(width - cur_len, 1) - - if self.break_long_words: - last = reversed_chunks[-1] - cut = last[:space_left] - res = last[space_left:] - cur_line.append(cut) - reversed_chunks[-1] = res - elif not cur_line: - cur_line.append(reversed_chunks.pop()) - - @contextmanager - def extra_indent(self, indent: str) -> t.Iterator[None]: - old_initial_indent = self.initial_indent - old_subsequent_indent = self.subsequent_indent - self.initial_indent += indent - self.subsequent_indent += indent - - try: - yield - finally: - self.initial_indent = old_initial_indent - self.subsequent_indent = old_subsequent_indent - - def indent_only(self, text: str) -> str: - rv = [] - - for idx, line in enumerate(text.splitlines()): - indent = self.initial_indent - - if idx > 0: - indent = self.subsequent_indent - - rv.append(f"{indent}{line}") - - return "\n".join(rv) diff --git a/venv/lib/python3.11/site-packages/click/_winconsole.py b/venv/lib/python3.11/site-packages/click/_winconsole.py deleted file mode 100644 index 6b20df3..0000000 --- a/venv/lib/python3.11/site-packages/click/_winconsole.py +++ /dev/null @@ -1,279 +0,0 @@ -# This module is based on the excellent work by Adam Bartoš who -# provided a lot of what went into the implementation here in -# the discussion to issue1602 in the Python bug tracker. -# -# There are some general differences in regards to how this works -# compared to the original patches as we do not need to patch -# the entire interpreter but just work in our little world of -# echo and prompt. -import io -import sys -import time -import typing as t -from ctypes import byref -from ctypes import c_char -from ctypes import c_char_p -from ctypes import c_int -from ctypes import c_ssize_t -from ctypes import c_ulong -from ctypes import c_void_p -from ctypes import POINTER -from ctypes import py_object -from ctypes import Structure -from ctypes.wintypes import DWORD -from ctypes.wintypes import HANDLE -from ctypes.wintypes import LPCWSTR -from ctypes.wintypes import LPWSTR - -from ._compat import _NonClosingTextIOWrapper - -assert sys.platform == "win32" -import msvcrt # noqa: E402 -from ctypes import windll # noqa: E402 -from ctypes import WINFUNCTYPE # noqa: E402 - -c_ssize_p = POINTER(c_ssize_t) - -kernel32 = windll.kernel32 -GetStdHandle = kernel32.GetStdHandle -ReadConsoleW = kernel32.ReadConsoleW -WriteConsoleW = kernel32.WriteConsoleW -GetConsoleMode = kernel32.GetConsoleMode -GetLastError = kernel32.GetLastError -GetCommandLineW = WINFUNCTYPE(LPWSTR)(("GetCommandLineW", windll.kernel32)) -CommandLineToArgvW = WINFUNCTYPE(POINTER(LPWSTR), LPCWSTR, POINTER(c_int))( - ("CommandLineToArgvW", windll.shell32) -) -LocalFree = WINFUNCTYPE(c_void_p, c_void_p)(("LocalFree", windll.kernel32)) - -STDIN_HANDLE = GetStdHandle(-10) -STDOUT_HANDLE = GetStdHandle(-11) -STDERR_HANDLE = GetStdHandle(-12) - -PyBUF_SIMPLE = 0 -PyBUF_WRITABLE = 1 - -ERROR_SUCCESS = 0 -ERROR_NOT_ENOUGH_MEMORY = 8 -ERROR_OPERATION_ABORTED = 995 - -STDIN_FILENO = 0 -STDOUT_FILENO = 1 -STDERR_FILENO = 2 - -EOF = b"\x1a" -MAX_BYTES_WRITTEN = 32767 - -try: - from ctypes import pythonapi -except ImportError: - # On PyPy we cannot get buffers so our ability to operate here is - # severely limited. - get_buffer = None -else: - - class Py_buffer(Structure): - _fields_ = [ - ("buf", c_void_p), - ("obj", py_object), - ("len", c_ssize_t), - ("itemsize", c_ssize_t), - ("readonly", c_int), - ("ndim", c_int), - ("format", c_char_p), - ("shape", c_ssize_p), - ("strides", c_ssize_p), - ("suboffsets", c_ssize_p), - ("internal", c_void_p), - ] - - PyObject_GetBuffer = pythonapi.PyObject_GetBuffer - PyBuffer_Release = pythonapi.PyBuffer_Release - - def get_buffer(obj, writable=False): - buf = Py_buffer() - flags = PyBUF_WRITABLE if writable else PyBUF_SIMPLE - PyObject_GetBuffer(py_object(obj), byref(buf), flags) - - try: - buffer_type = c_char * buf.len - return buffer_type.from_address(buf.buf) - finally: - PyBuffer_Release(byref(buf)) - - -class _WindowsConsoleRawIOBase(io.RawIOBase): - def __init__(self, handle): - self.handle = handle - - def isatty(self): - super().isatty() - return True - - -class _WindowsConsoleReader(_WindowsConsoleRawIOBase): - def readable(self): - return True - - def readinto(self, b): - bytes_to_be_read = len(b) - if not bytes_to_be_read: - return 0 - elif bytes_to_be_read % 2: - raise ValueError( - "cannot read odd number of bytes from UTF-16-LE encoded console" - ) - - buffer = get_buffer(b, writable=True) - code_units_to_be_read = bytes_to_be_read // 2 - code_units_read = c_ulong() - - rv = ReadConsoleW( - HANDLE(self.handle), - buffer, - code_units_to_be_read, - byref(code_units_read), - None, - ) - if GetLastError() == ERROR_OPERATION_ABORTED: - # wait for KeyboardInterrupt - time.sleep(0.1) - if not rv: - raise OSError(f"Windows error: {GetLastError()}") - - if buffer[0] == EOF: - return 0 - return 2 * code_units_read.value - - -class _WindowsConsoleWriter(_WindowsConsoleRawIOBase): - def writable(self): - return True - - @staticmethod - def _get_error_message(errno): - if errno == ERROR_SUCCESS: - return "ERROR_SUCCESS" - elif errno == ERROR_NOT_ENOUGH_MEMORY: - return "ERROR_NOT_ENOUGH_MEMORY" - return f"Windows error {errno}" - - def write(self, b): - bytes_to_be_written = len(b) - buf = get_buffer(b) - code_units_to_be_written = min(bytes_to_be_written, MAX_BYTES_WRITTEN) // 2 - code_units_written = c_ulong() - - WriteConsoleW( - HANDLE(self.handle), - buf, - code_units_to_be_written, - byref(code_units_written), - None, - ) - bytes_written = 2 * code_units_written.value - - if bytes_written == 0 and bytes_to_be_written > 0: - raise OSError(self._get_error_message(GetLastError())) - return bytes_written - - -class ConsoleStream: - def __init__(self, text_stream: t.TextIO, byte_stream: t.BinaryIO) -> None: - self._text_stream = text_stream - self.buffer = byte_stream - - @property - def name(self) -> str: - return self.buffer.name - - def write(self, x: t.AnyStr) -> int: - if isinstance(x, str): - return self._text_stream.write(x) - try: - self.flush() - except Exception: - pass - return self.buffer.write(x) - - def writelines(self, lines: t.Iterable[t.AnyStr]) -> None: - for line in lines: - self.write(line) - - def __getattr__(self, name: str) -> t.Any: - return getattr(self._text_stream, name) - - def isatty(self) -> bool: - return self.buffer.isatty() - - def __repr__(self): - return f"" - - -def _get_text_stdin(buffer_stream: t.BinaryIO) -> t.TextIO: - text_stream = _NonClosingTextIOWrapper( - io.BufferedReader(_WindowsConsoleReader(STDIN_HANDLE)), - "utf-16-le", - "strict", - line_buffering=True, - ) - return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) - - -def _get_text_stdout(buffer_stream: t.BinaryIO) -> t.TextIO: - text_stream = _NonClosingTextIOWrapper( - io.BufferedWriter(_WindowsConsoleWriter(STDOUT_HANDLE)), - "utf-16-le", - "strict", - line_buffering=True, - ) - return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) - - -def _get_text_stderr(buffer_stream: t.BinaryIO) -> t.TextIO: - text_stream = _NonClosingTextIOWrapper( - io.BufferedWriter(_WindowsConsoleWriter(STDERR_HANDLE)), - "utf-16-le", - "strict", - line_buffering=True, - ) - return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) - - -_stream_factories: t.Mapping[int, t.Callable[[t.BinaryIO], t.TextIO]] = { - 0: _get_text_stdin, - 1: _get_text_stdout, - 2: _get_text_stderr, -} - - -def _is_console(f: t.TextIO) -> bool: - if not hasattr(f, "fileno"): - return False - - try: - fileno = f.fileno() - except (OSError, io.UnsupportedOperation): - return False - - handle = msvcrt.get_osfhandle(fileno) - return bool(GetConsoleMode(handle, byref(DWORD()))) - - -def _get_windows_console_stream( - f: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] -) -> t.Optional[t.TextIO]: - if ( - get_buffer is not None - and encoding in {"utf-16-le", None} - and errors in {"strict", None} - and _is_console(f) - ): - func = _stream_factories.get(f.fileno()) - if func is not None: - b = getattr(f, "buffer", None) - - if b is None: - return None - - return func(b) diff --git a/venv/lib/python3.11/site-packages/click/core.py b/venv/lib/python3.11/site-packages/click/core.py deleted file mode 100644 index cc65e89..0000000 --- a/venv/lib/python3.11/site-packages/click/core.py +++ /dev/null @@ -1,3042 +0,0 @@ -import enum -import errno -import inspect -import os -import sys -import typing as t -from collections import abc -from contextlib import contextmanager -from contextlib import ExitStack -from functools import update_wrapper -from gettext import gettext as _ -from gettext import ngettext -from itertools import repeat -from types import TracebackType - -from . import types -from .exceptions import Abort -from .exceptions import BadParameter -from .exceptions import ClickException -from .exceptions import Exit -from .exceptions import MissingParameter -from .exceptions import UsageError -from .formatting import HelpFormatter -from .formatting import join_options -from .globals import pop_context -from .globals import push_context -from .parser import _flag_needs_value -from .parser import OptionParser -from .parser import split_opt -from .termui import confirm -from .termui import prompt -from .termui import style -from .utils import _detect_program_name -from .utils import _expand_args -from .utils import echo -from .utils import make_default_short_help -from .utils import make_str -from .utils import PacifyFlushWrapper - -if t.TYPE_CHECKING: - import typing_extensions as te - from .shell_completion import CompletionItem - -F = t.TypeVar("F", bound=t.Callable[..., t.Any]) -V = t.TypeVar("V") - - -def _complete_visible_commands( - ctx: "Context", incomplete: str -) -> t.Iterator[t.Tuple[str, "Command"]]: - """List all the subcommands of a group that start with the - incomplete value and aren't hidden. - - :param ctx: Invocation context for the group. - :param incomplete: Value being completed. May be empty. - """ - multi = t.cast(MultiCommand, ctx.command) - - for name in multi.list_commands(ctx): - if name.startswith(incomplete): - command = multi.get_command(ctx, name) - - if command is not None and not command.hidden: - yield name, command - - -def _check_multicommand( - base_command: "MultiCommand", cmd_name: str, cmd: "Command", register: bool = False -) -> None: - if not base_command.chain or not isinstance(cmd, MultiCommand): - return - if register: - hint = ( - "It is not possible to add multi commands as children to" - " another multi command that is in chain mode." - ) - else: - hint = ( - "Found a multi command as subcommand to a multi command" - " that is in chain mode. This is not supported." - ) - raise RuntimeError( - f"{hint}. Command {base_command.name!r} is set to chain and" - f" {cmd_name!r} was added as a subcommand but it in itself is a" - f" multi command. ({cmd_name!r} is a {type(cmd).__name__}" - f" within a chained {type(base_command).__name__} named" - f" {base_command.name!r})." - ) - - -def batch(iterable: t.Iterable[V], batch_size: int) -> t.List[t.Tuple[V, ...]]: - return list(zip(*repeat(iter(iterable), batch_size))) - - -@contextmanager -def augment_usage_errors( - ctx: "Context", param: t.Optional["Parameter"] = None -) -> t.Iterator[None]: - """Context manager that attaches extra information to exceptions.""" - try: - yield - except BadParameter as e: - if e.ctx is None: - e.ctx = ctx - if param is not None and e.param is None: - e.param = param - raise - except UsageError as e: - if e.ctx is None: - e.ctx = ctx - raise - - -def iter_params_for_processing( - invocation_order: t.Sequence["Parameter"], - declaration_order: t.Sequence["Parameter"], -) -> t.List["Parameter"]: - """Given a sequence of parameters in the order as should be considered - for processing and an iterable of parameters that exist, this returns - a list in the correct order as they should be processed. - """ - - def sort_key(item: "Parameter") -> t.Tuple[bool, float]: - try: - idx: float = invocation_order.index(item) - except ValueError: - idx = float("inf") - - return not item.is_eager, idx - - return sorted(declaration_order, key=sort_key) - - -class ParameterSource(enum.Enum): - """This is an :class:`~enum.Enum` that indicates the source of a - parameter's value. - - Use :meth:`click.Context.get_parameter_source` to get the - source for a parameter by name. - - .. versionchanged:: 8.0 - Use :class:`~enum.Enum` and drop the ``validate`` method. - - .. versionchanged:: 8.0 - Added the ``PROMPT`` value. - """ - - COMMANDLINE = enum.auto() - """The value was provided by the command line args.""" - ENVIRONMENT = enum.auto() - """The value was provided with an environment variable.""" - DEFAULT = enum.auto() - """Used the default specified by the parameter.""" - DEFAULT_MAP = enum.auto() - """Used a default provided by :attr:`Context.default_map`.""" - PROMPT = enum.auto() - """Used a prompt to confirm a default or provide a value.""" - - -class Context: - """The context is a special internal object that holds state relevant - for the script execution at every single level. It's normally invisible - to commands unless they opt-in to getting access to it. - - The context is useful as it can pass internal objects around and can - control special execution features such as reading data from - environment variables. - - A context can be used as context manager in which case it will call - :meth:`close` on teardown. - - :param command: the command class for this context. - :param parent: the parent context. - :param info_name: the info name for this invocation. Generally this - is the most descriptive name for the script or - command. For the toplevel script it is usually - the name of the script, for commands below it it's - the name of the script. - :param obj: an arbitrary object of user data. - :param auto_envvar_prefix: the prefix to use for automatic environment - variables. If this is `None` then reading - from environment variables is disabled. This - does not affect manually set environment - variables which are always read. - :param default_map: a dictionary (like object) with default values - for parameters. - :param terminal_width: the width of the terminal. The default is - inherit from parent context. If no context - defines the terminal width then auto - detection will be applied. - :param max_content_width: the maximum width for content rendered by - Click (this currently only affects help - pages). This defaults to 80 characters if - not overridden. In other words: even if the - terminal is larger than that, Click will not - format things wider than 80 characters by - default. In addition to that, formatters might - add some safety mapping on the right. - :param resilient_parsing: if this flag is enabled then Click will - parse without any interactivity or callback - invocation. Default values will also be - ignored. This is useful for implementing - things such as completion support. - :param allow_extra_args: if this is set to `True` then extra arguments - at the end will not raise an error and will be - kept on the context. The default is to inherit - from the command. - :param allow_interspersed_args: if this is set to `False` then options - and arguments cannot be mixed. The - default is to inherit from the command. - :param ignore_unknown_options: instructs click to ignore options it does - not know and keeps them for later - processing. - :param help_option_names: optionally a list of strings that define how - the default help parameter is named. The - default is ``['--help']``. - :param token_normalize_func: an optional function that is used to - normalize tokens (options, choices, - etc.). This for instance can be used to - implement case insensitive behavior. - :param color: controls if the terminal supports ANSI colors or not. The - default is autodetection. This is only needed if ANSI - codes are used in texts that Click prints which is by - default not the case. This for instance would affect - help output. - :param show_default: Show the default value for commands. If this - value is not set, it defaults to the value from the parent - context. ``Command.show_default`` overrides this default for the - specific command. - - .. versionchanged:: 8.1 - The ``show_default`` parameter is overridden by - ``Command.show_default``, instead of the other way around. - - .. versionchanged:: 8.0 - The ``show_default`` parameter defaults to the value from the - parent context. - - .. versionchanged:: 7.1 - Added the ``show_default`` parameter. - - .. versionchanged:: 4.0 - Added the ``color``, ``ignore_unknown_options``, and - ``max_content_width`` parameters. - - .. versionchanged:: 3.0 - Added the ``allow_extra_args`` and ``allow_interspersed_args`` - parameters. - - .. versionchanged:: 2.0 - Added the ``resilient_parsing``, ``help_option_names``, and - ``token_normalize_func`` parameters. - """ - - #: The formatter class to create with :meth:`make_formatter`. - #: - #: .. versionadded:: 8.0 - formatter_class: t.Type["HelpFormatter"] = HelpFormatter - - def __init__( - self, - command: "Command", - parent: t.Optional["Context"] = None, - info_name: t.Optional[str] = None, - obj: t.Optional[t.Any] = None, - auto_envvar_prefix: t.Optional[str] = None, - default_map: t.Optional[t.MutableMapping[str, t.Any]] = None, - terminal_width: t.Optional[int] = None, - max_content_width: t.Optional[int] = None, - resilient_parsing: bool = False, - allow_extra_args: t.Optional[bool] = None, - allow_interspersed_args: t.Optional[bool] = None, - ignore_unknown_options: t.Optional[bool] = None, - help_option_names: t.Optional[t.List[str]] = None, - token_normalize_func: t.Optional[t.Callable[[str], str]] = None, - color: t.Optional[bool] = None, - show_default: t.Optional[bool] = None, - ) -> None: - #: the parent context or `None` if none exists. - self.parent = parent - #: the :class:`Command` for this context. - self.command = command - #: the descriptive information name - self.info_name = info_name - #: Map of parameter names to their parsed values. Parameters - #: with ``expose_value=False`` are not stored. - self.params: t.Dict[str, t.Any] = {} - #: the leftover arguments. - self.args: t.List[str] = [] - #: protected arguments. These are arguments that are prepended - #: to `args` when certain parsing scenarios are encountered but - #: must be never propagated to another arguments. This is used - #: to implement nested parsing. - self.protected_args: t.List[str] = [] - #: the collected prefixes of the command's options. - self._opt_prefixes: t.Set[str] = set(parent._opt_prefixes) if parent else set() - - if obj is None and parent is not None: - obj = parent.obj - - #: the user object stored. - self.obj: t.Any = obj - self._meta: t.Dict[str, t.Any] = getattr(parent, "meta", {}) - - #: A dictionary (-like object) with defaults for parameters. - if ( - default_map is None - and info_name is not None - and parent is not None - and parent.default_map is not None - ): - default_map = parent.default_map.get(info_name) - - self.default_map: t.Optional[t.MutableMapping[str, t.Any]] = default_map - - #: This flag indicates if a subcommand is going to be executed. A - #: group callback can use this information to figure out if it's - #: being executed directly or because the execution flow passes - #: onwards to a subcommand. By default it's None, but it can be - #: the name of the subcommand to execute. - #: - #: If chaining is enabled this will be set to ``'*'`` in case - #: any commands are executed. It is however not possible to - #: figure out which ones. If you require this knowledge you - #: should use a :func:`result_callback`. - self.invoked_subcommand: t.Optional[str] = None - - if terminal_width is None and parent is not None: - terminal_width = parent.terminal_width - - #: The width of the terminal (None is autodetection). - self.terminal_width: t.Optional[int] = terminal_width - - if max_content_width is None and parent is not None: - max_content_width = parent.max_content_width - - #: The maximum width of formatted content (None implies a sensible - #: default which is 80 for most things). - self.max_content_width: t.Optional[int] = max_content_width - - if allow_extra_args is None: - allow_extra_args = command.allow_extra_args - - #: Indicates if the context allows extra args or if it should - #: fail on parsing. - #: - #: .. versionadded:: 3.0 - self.allow_extra_args = allow_extra_args - - if allow_interspersed_args is None: - allow_interspersed_args = command.allow_interspersed_args - - #: Indicates if the context allows mixing of arguments and - #: options or not. - #: - #: .. versionadded:: 3.0 - self.allow_interspersed_args: bool = allow_interspersed_args - - if ignore_unknown_options is None: - ignore_unknown_options = command.ignore_unknown_options - - #: Instructs click to ignore options that a command does not - #: understand and will store it on the context for later - #: processing. This is primarily useful for situations where you - #: want to call into external programs. Generally this pattern is - #: strongly discouraged because it's not possibly to losslessly - #: forward all arguments. - #: - #: .. versionadded:: 4.0 - self.ignore_unknown_options: bool = ignore_unknown_options - - if help_option_names is None: - if parent is not None: - help_option_names = parent.help_option_names - else: - help_option_names = ["--help"] - - #: The names for the help options. - self.help_option_names: t.List[str] = help_option_names - - if token_normalize_func is None and parent is not None: - token_normalize_func = parent.token_normalize_func - - #: An optional normalization function for tokens. This is - #: options, choices, commands etc. - self.token_normalize_func: t.Optional[ - t.Callable[[str], str] - ] = token_normalize_func - - #: Indicates if resilient parsing is enabled. In that case Click - #: will do its best to not cause any failures and default values - #: will be ignored. Useful for completion. - self.resilient_parsing: bool = resilient_parsing - - # If there is no envvar prefix yet, but the parent has one and - # the command on this level has a name, we can expand the envvar - # prefix automatically. - if auto_envvar_prefix is None: - if ( - parent is not None - and parent.auto_envvar_prefix is not None - and self.info_name is not None - ): - auto_envvar_prefix = ( - f"{parent.auto_envvar_prefix}_{self.info_name.upper()}" - ) - else: - auto_envvar_prefix = auto_envvar_prefix.upper() - - if auto_envvar_prefix is not None: - auto_envvar_prefix = auto_envvar_prefix.replace("-", "_") - - self.auto_envvar_prefix: t.Optional[str] = auto_envvar_prefix - - if color is None and parent is not None: - color = parent.color - - #: Controls if styling output is wanted or not. - self.color: t.Optional[bool] = color - - if show_default is None and parent is not None: - show_default = parent.show_default - - #: Show option default values when formatting help text. - self.show_default: t.Optional[bool] = show_default - - self._close_callbacks: t.List[t.Callable[[], t.Any]] = [] - self._depth = 0 - self._parameter_source: t.Dict[str, ParameterSource] = {} - self._exit_stack = ExitStack() - - def to_info_dict(self) -> t.Dict[str, t.Any]: - """Gather information that could be useful for a tool generating - user-facing documentation. This traverses the entire CLI - structure. - - .. code-block:: python - - with Context(cli) as ctx: - info = ctx.to_info_dict() - - .. versionadded:: 8.0 - """ - return { - "command": self.command.to_info_dict(self), - "info_name": self.info_name, - "allow_extra_args": self.allow_extra_args, - "allow_interspersed_args": self.allow_interspersed_args, - "ignore_unknown_options": self.ignore_unknown_options, - "auto_envvar_prefix": self.auto_envvar_prefix, - } - - def __enter__(self) -> "Context": - self._depth += 1 - push_context(self) - return self - - def __exit__( - self, - exc_type: t.Optional[t.Type[BaseException]], - exc_value: t.Optional[BaseException], - tb: t.Optional[TracebackType], - ) -> None: - self._depth -= 1 - if self._depth == 0: - self.close() - pop_context() - - @contextmanager - def scope(self, cleanup: bool = True) -> t.Iterator["Context"]: - """This helper method can be used with the context object to promote - it to the current thread local (see :func:`get_current_context`). - The default behavior of this is to invoke the cleanup functions which - can be disabled by setting `cleanup` to `False`. The cleanup - functions are typically used for things such as closing file handles. - - If the cleanup is intended the context object can also be directly - used as a context manager. - - Example usage:: - - with ctx.scope(): - assert get_current_context() is ctx - - This is equivalent:: - - with ctx: - assert get_current_context() is ctx - - .. versionadded:: 5.0 - - :param cleanup: controls if the cleanup functions should be run or - not. The default is to run these functions. In - some situations the context only wants to be - temporarily pushed in which case this can be disabled. - Nested pushes automatically defer the cleanup. - """ - if not cleanup: - self._depth += 1 - try: - with self as rv: - yield rv - finally: - if not cleanup: - self._depth -= 1 - - @property - def meta(self) -> t.Dict[str, t.Any]: - """This is a dictionary which is shared with all the contexts - that are nested. It exists so that click utilities can store some - state here if they need to. It is however the responsibility of - that code to manage this dictionary well. - - The keys are supposed to be unique dotted strings. For instance - module paths are a good choice for it. What is stored in there is - irrelevant for the operation of click. However what is important is - that code that places data here adheres to the general semantics of - the system. - - Example usage:: - - LANG_KEY = f'{__name__}.lang' - - def set_language(value): - ctx = get_current_context() - ctx.meta[LANG_KEY] = value - - def get_language(): - return get_current_context().meta.get(LANG_KEY, 'en_US') - - .. versionadded:: 5.0 - """ - return self._meta - - def make_formatter(self) -> HelpFormatter: - """Creates the :class:`~click.HelpFormatter` for the help and - usage output. - - To quickly customize the formatter class used without overriding - this method, set the :attr:`formatter_class` attribute. - - .. versionchanged:: 8.0 - Added the :attr:`formatter_class` attribute. - """ - return self.formatter_class( - width=self.terminal_width, max_width=self.max_content_width - ) - - def with_resource(self, context_manager: t.ContextManager[V]) -> V: - """Register a resource as if it were used in a ``with`` - statement. The resource will be cleaned up when the context is - popped. - - Uses :meth:`contextlib.ExitStack.enter_context`. It calls the - resource's ``__enter__()`` method and returns the result. When - the context is popped, it closes the stack, which calls the - resource's ``__exit__()`` method. - - To register a cleanup function for something that isn't a - context manager, use :meth:`call_on_close`. Or use something - from :mod:`contextlib` to turn it into a context manager first. - - .. code-block:: python - - @click.group() - @click.option("--name") - @click.pass_context - def cli(ctx): - ctx.obj = ctx.with_resource(connect_db(name)) - - :param context_manager: The context manager to enter. - :return: Whatever ``context_manager.__enter__()`` returns. - - .. versionadded:: 8.0 - """ - return self._exit_stack.enter_context(context_manager) - - def call_on_close(self, f: t.Callable[..., t.Any]) -> t.Callable[..., t.Any]: - """Register a function to be called when the context tears down. - - This can be used to close resources opened during the script - execution. Resources that support Python's context manager - protocol which would be used in a ``with`` statement should be - registered with :meth:`with_resource` instead. - - :param f: The function to execute on teardown. - """ - return self._exit_stack.callback(f) - - def close(self) -> None: - """Invoke all close callbacks registered with - :meth:`call_on_close`, and exit all context managers entered - with :meth:`with_resource`. - """ - self._exit_stack.close() - # In case the context is reused, create a new exit stack. - self._exit_stack = ExitStack() - - @property - def command_path(self) -> str: - """The computed command path. This is used for the ``usage`` - information on the help page. It's automatically created by - combining the info names of the chain of contexts to the root. - """ - rv = "" - if self.info_name is not None: - rv = self.info_name - if self.parent is not None: - parent_command_path = [self.parent.command_path] - - if isinstance(self.parent.command, Command): - for param in self.parent.command.get_params(self): - parent_command_path.extend(param.get_usage_pieces(self)) - - rv = f"{' '.join(parent_command_path)} {rv}" - return rv.lstrip() - - def find_root(self) -> "Context": - """Finds the outermost context.""" - node = self - while node.parent is not None: - node = node.parent - return node - - def find_object(self, object_type: t.Type[V]) -> t.Optional[V]: - """Finds the closest object of a given type.""" - node: t.Optional["Context"] = self - - while node is not None: - if isinstance(node.obj, object_type): - return node.obj - - node = node.parent - - return None - - def ensure_object(self, object_type: t.Type[V]) -> V: - """Like :meth:`find_object` but sets the innermost object to a - new instance of `object_type` if it does not exist. - """ - rv = self.find_object(object_type) - if rv is None: - self.obj = rv = object_type() - return rv - - @t.overload - def lookup_default( - self, name: str, call: "te.Literal[True]" = True - ) -> t.Optional[t.Any]: - ... - - @t.overload - def lookup_default( - self, name: str, call: "te.Literal[False]" = ... - ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: - ... - - def lookup_default(self, name: str, call: bool = True) -> t.Optional[t.Any]: - """Get the default for a parameter from :attr:`default_map`. - - :param name: Name of the parameter. - :param call: If the default is a callable, call it. Disable to - return the callable instead. - - .. versionchanged:: 8.0 - Added the ``call`` parameter. - """ - if self.default_map is not None: - value = self.default_map.get(name) - - if call and callable(value): - return value() - - return value - - return None - - def fail(self, message: str) -> "te.NoReturn": - """Aborts the execution of the program with a specific error - message. - - :param message: the error message to fail with. - """ - raise UsageError(message, self) - - def abort(self) -> "te.NoReturn": - """Aborts the script.""" - raise Abort() - - def exit(self, code: int = 0) -> "te.NoReturn": - """Exits the application with a given exit code.""" - raise Exit(code) - - def get_usage(self) -> str: - """Helper method to get formatted usage string for the current - context and command. - """ - return self.command.get_usage(self) - - def get_help(self) -> str: - """Helper method to get formatted help page for the current - context and command. - """ - return self.command.get_help(self) - - def _make_sub_context(self, command: "Command") -> "Context": - """Create a new context of the same type as this context, but - for a new command. - - :meta private: - """ - return type(self)(command, info_name=command.name, parent=self) - - @t.overload - def invoke( - __self, # noqa: B902 - __callback: "t.Callable[..., V]", - *args: t.Any, - **kwargs: t.Any, - ) -> V: - ... - - @t.overload - def invoke( - __self, # noqa: B902 - __callback: "Command", - *args: t.Any, - **kwargs: t.Any, - ) -> t.Any: - ... - - def invoke( - __self, # noqa: B902 - __callback: t.Union["Command", "t.Callable[..., V]"], - *args: t.Any, - **kwargs: t.Any, - ) -> t.Union[t.Any, V]: - """Invokes a command callback in exactly the way it expects. There - are two ways to invoke this method: - - 1. the first argument can be a callback and all other arguments and - keyword arguments are forwarded directly to the function. - 2. the first argument is a click command object. In that case all - arguments are forwarded as well but proper click parameters - (options and click arguments) must be keyword arguments and Click - will fill in defaults. - - Note that before Click 3.2 keyword arguments were not properly filled - in against the intention of this code and no context was created. For - more information about this change and why it was done in a bugfix - release see :ref:`upgrade-to-3.2`. - - .. versionchanged:: 8.0 - All ``kwargs`` are tracked in :attr:`params` so they will be - passed if :meth:`forward` is called at multiple levels. - """ - if isinstance(__callback, Command): - other_cmd = __callback - - if other_cmd.callback is None: - raise TypeError( - "The given command does not have a callback that can be invoked." - ) - else: - __callback = t.cast("t.Callable[..., V]", other_cmd.callback) - - ctx = __self._make_sub_context(other_cmd) - - for param in other_cmd.params: - if param.name not in kwargs and param.expose_value: - kwargs[param.name] = param.type_cast_value( # type: ignore - ctx, param.get_default(ctx) - ) - - # Track all kwargs as params, so that forward() will pass - # them on in subsequent calls. - ctx.params.update(kwargs) - else: - ctx = __self - - with augment_usage_errors(__self): - with ctx: - return __callback(*args, **kwargs) - - def forward( - __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any # noqa: B902 - ) -> t.Any: - """Similar to :meth:`invoke` but fills in default keyword - arguments from the current context if the other command expects - it. This cannot invoke callbacks directly, only other commands. - - .. versionchanged:: 8.0 - All ``kwargs`` are tracked in :attr:`params` so they will be - passed if ``forward`` is called at multiple levels. - """ - # Can only forward to other commands, not direct callbacks. - if not isinstance(__cmd, Command): - raise TypeError("Callback is not a command.") - - for param in __self.params: - if param not in kwargs: - kwargs[param] = __self.params[param] - - return __self.invoke(__cmd, *args, **kwargs) - - def set_parameter_source(self, name: str, source: ParameterSource) -> None: - """Set the source of a parameter. This indicates the location - from which the value of the parameter was obtained. - - :param name: The name of the parameter. - :param source: A member of :class:`~click.core.ParameterSource`. - """ - self._parameter_source[name] = source - - def get_parameter_source(self, name: str) -> t.Optional[ParameterSource]: - """Get the source of a parameter. This indicates the location - from which the value of the parameter was obtained. - - This can be useful for determining when a user specified a value - on the command line that is the same as the default value. It - will be :attr:`~click.core.ParameterSource.DEFAULT` only if the - value was actually taken from the default. - - :param name: The name of the parameter. - :rtype: ParameterSource - - .. versionchanged:: 8.0 - Returns ``None`` if the parameter was not provided from any - source. - """ - return self._parameter_source.get(name) - - -class BaseCommand: - """The base command implements the minimal API contract of commands. - Most code will never use this as it does not implement a lot of useful - functionality but it can act as the direct subclass of alternative - parsing methods that do not depend on the Click parser. - - For instance, this can be used to bridge Click and other systems like - argparse or docopt. - - Because base commands do not implement a lot of the API that other - parts of Click take for granted, they are not supported for all - operations. For instance, they cannot be used with the decorators - usually and they have no built-in callback system. - - .. versionchanged:: 2.0 - Added the `context_settings` parameter. - - :param name: the name of the command to use unless a group overrides it. - :param context_settings: an optional dictionary with defaults that are - passed to the context object. - """ - - #: The context class to create with :meth:`make_context`. - #: - #: .. versionadded:: 8.0 - context_class: t.Type[Context] = Context - #: the default for the :attr:`Context.allow_extra_args` flag. - allow_extra_args = False - #: the default for the :attr:`Context.allow_interspersed_args` flag. - allow_interspersed_args = True - #: the default for the :attr:`Context.ignore_unknown_options` flag. - ignore_unknown_options = False - - def __init__( - self, - name: t.Optional[str], - context_settings: t.Optional[t.MutableMapping[str, t.Any]] = None, - ) -> None: - #: the name the command thinks it has. Upon registering a command - #: on a :class:`Group` the group will default the command name - #: with this information. You should instead use the - #: :class:`Context`\'s :attr:`~Context.info_name` attribute. - self.name = name - - if context_settings is None: - context_settings = {} - - #: an optional dictionary with defaults passed to the context. - self.context_settings: t.MutableMapping[str, t.Any] = context_settings - - def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: - """Gather information that could be useful for a tool generating - user-facing documentation. This traverses the entire structure - below this command. - - Use :meth:`click.Context.to_info_dict` to traverse the entire - CLI structure. - - :param ctx: A :class:`Context` representing this command. - - .. versionadded:: 8.0 - """ - return {"name": self.name} - - def __repr__(self) -> str: - return f"<{self.__class__.__name__} {self.name}>" - - def get_usage(self, ctx: Context) -> str: - raise NotImplementedError("Base commands cannot get usage") - - def get_help(self, ctx: Context) -> str: - raise NotImplementedError("Base commands cannot get help") - - def make_context( - self, - info_name: t.Optional[str], - args: t.List[str], - parent: t.Optional[Context] = None, - **extra: t.Any, - ) -> Context: - """This function when given an info name and arguments will kick - off the parsing and create a new :class:`Context`. It does not - invoke the actual command callback though. - - To quickly customize the context class used without overriding - this method, set the :attr:`context_class` attribute. - - :param info_name: the info name for this invocation. Generally this - is the most descriptive name for the script or - command. For the toplevel script it's usually - the name of the script, for commands below it's - the name of the command. - :param args: the arguments to parse as list of strings. - :param parent: the parent context if available. - :param extra: extra keyword arguments forwarded to the context - constructor. - - .. versionchanged:: 8.0 - Added the :attr:`context_class` attribute. - """ - for key, value in self.context_settings.items(): - if key not in extra: - extra[key] = value - - ctx = self.context_class( - self, info_name=info_name, parent=parent, **extra # type: ignore - ) - - with ctx.scope(cleanup=False): - self.parse_args(ctx, args) - return ctx - - def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: - """Given a context and a list of arguments this creates the parser - and parses the arguments, then modifies the context as necessary. - This is automatically invoked by :meth:`make_context`. - """ - raise NotImplementedError("Base commands do not know how to parse arguments.") - - def invoke(self, ctx: Context) -> t.Any: - """Given a context, this invokes the command. The default - implementation is raising a not implemented error. - """ - raise NotImplementedError("Base commands are not invocable by default") - - def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: - """Return a list of completions for the incomplete value. Looks - at the names of chained multi-commands. - - Any command could be part of a chained multi-command, so sibling - commands are valid at any point during command completion. Other - command classes will return more completions. - - :param ctx: Invocation context for this command. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - results: t.List["CompletionItem"] = [] - - while ctx.parent is not None: - ctx = ctx.parent - - if isinstance(ctx.command, MultiCommand) and ctx.command.chain: - results.extend( - CompletionItem(name, help=command.get_short_help_str()) - for name, command in _complete_visible_commands(ctx, incomplete) - if name not in ctx.protected_args - ) - - return results - - @t.overload - def main( - self, - args: t.Optional[t.Sequence[str]] = None, - prog_name: t.Optional[str] = None, - complete_var: t.Optional[str] = None, - standalone_mode: "te.Literal[True]" = True, - **extra: t.Any, - ) -> "te.NoReturn": - ... - - @t.overload - def main( - self, - args: t.Optional[t.Sequence[str]] = None, - prog_name: t.Optional[str] = None, - complete_var: t.Optional[str] = None, - standalone_mode: bool = ..., - **extra: t.Any, - ) -> t.Any: - ... - - def main( - self, - args: t.Optional[t.Sequence[str]] = None, - prog_name: t.Optional[str] = None, - complete_var: t.Optional[str] = None, - standalone_mode: bool = True, - windows_expand_args: bool = True, - **extra: t.Any, - ) -> t.Any: - """This is the way to invoke a script with all the bells and - whistles as a command line application. This will always terminate - the application after a call. If this is not wanted, ``SystemExit`` - needs to be caught. - - This method is also available by directly calling the instance of - a :class:`Command`. - - :param args: the arguments that should be used for parsing. If not - provided, ``sys.argv[1:]`` is used. - :param prog_name: the program name that should be used. By default - the program name is constructed by taking the file - name from ``sys.argv[0]``. - :param complete_var: the environment variable that controls the - bash completion support. The default is - ``"__COMPLETE"`` with prog_name in - uppercase. - :param standalone_mode: the default behavior is to invoke the script - in standalone mode. Click will then - handle exceptions and convert them into - error messages and the function will never - return but shut down the interpreter. If - this is set to `False` they will be - propagated to the caller and the return - value of this function is the return value - of :meth:`invoke`. - :param windows_expand_args: Expand glob patterns, user dir, and - env vars in command line args on Windows. - :param extra: extra keyword arguments are forwarded to the context - constructor. See :class:`Context` for more information. - - .. versionchanged:: 8.0.1 - Added the ``windows_expand_args`` parameter to allow - disabling command line arg expansion on Windows. - - .. versionchanged:: 8.0 - When taking arguments from ``sys.argv`` on Windows, glob - patterns, user dir, and env vars are expanded. - - .. versionchanged:: 3.0 - Added the ``standalone_mode`` parameter. - """ - if args is None: - args = sys.argv[1:] - - if os.name == "nt" and windows_expand_args: - args = _expand_args(args) - else: - args = list(args) - - if prog_name is None: - prog_name = _detect_program_name() - - # Process shell completion requests and exit early. - self._main_shell_completion(extra, prog_name, complete_var) - - try: - try: - with self.make_context(prog_name, args, **extra) as ctx: - rv = self.invoke(ctx) - if not standalone_mode: - return rv - # it's not safe to `ctx.exit(rv)` here! - # note that `rv` may actually contain data like "1" which - # has obvious effects - # more subtle case: `rv=[None, None]` can come out of - # chained commands which all returned `None` -- so it's not - # even always obvious that `rv` indicates success/failure - # by its truthiness/falsiness - ctx.exit() - except (EOFError, KeyboardInterrupt) as e: - echo(file=sys.stderr) - raise Abort() from e - except ClickException as e: - if not standalone_mode: - raise - e.show() - sys.exit(e.exit_code) - except OSError as e: - if e.errno == errno.EPIPE: - sys.stdout = t.cast(t.TextIO, PacifyFlushWrapper(sys.stdout)) - sys.stderr = t.cast(t.TextIO, PacifyFlushWrapper(sys.stderr)) - sys.exit(1) - else: - raise - except Exit as e: - if standalone_mode: - sys.exit(e.exit_code) - else: - # in non-standalone mode, return the exit code - # note that this is only reached if `self.invoke` above raises - # an Exit explicitly -- thus bypassing the check there which - # would return its result - # the results of non-standalone execution may therefore be - # somewhat ambiguous: if there are codepaths which lead to - # `ctx.exit(1)` and to `return 1`, the caller won't be able to - # tell the difference between the two - return e.exit_code - except Abort: - if not standalone_mode: - raise - echo(_("Aborted!"), file=sys.stderr) - sys.exit(1) - - def _main_shell_completion( - self, - ctx_args: t.MutableMapping[str, t.Any], - prog_name: str, - complete_var: t.Optional[str] = None, - ) -> None: - """Check if the shell is asking for tab completion, process - that, then exit early. Called from :meth:`main` before the - program is invoked. - - :param prog_name: Name of the executable in the shell. - :param complete_var: Name of the environment variable that holds - the completion instruction. Defaults to - ``_{PROG_NAME}_COMPLETE``. - - .. versionchanged:: 8.2.0 - Dots (``.``) in ``prog_name`` are replaced with underscores (``_``). - """ - if complete_var is None: - complete_name = prog_name.replace("-", "_").replace(".", "_") - complete_var = f"_{complete_name}_COMPLETE".upper() - - instruction = os.environ.get(complete_var) - - if not instruction: - return - - from .shell_completion import shell_complete - - rv = shell_complete(self, ctx_args, prog_name, complete_var, instruction) - sys.exit(rv) - - def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any: - """Alias for :meth:`main`.""" - return self.main(*args, **kwargs) - - -class Command(BaseCommand): - """Commands are the basic building block of command line interfaces in - Click. A basic command handles command line parsing and might dispatch - more parsing to commands nested below it. - - :param name: the name of the command to use unless a group overrides it. - :param context_settings: an optional dictionary with defaults that are - passed to the context object. - :param callback: the callback to invoke. This is optional. - :param params: the parameters to register with this command. This can - be either :class:`Option` or :class:`Argument` objects. - :param help: the help string to use for this command. - :param epilog: like the help string but it's printed at the end of the - help page after everything else. - :param short_help: the short help to use for this command. This is - shown on the command listing of the parent command. - :param add_help_option: by default each command registers a ``--help`` - option. This can be disabled by this parameter. - :param no_args_is_help: this controls what happens if no arguments are - provided. This option is disabled by default. - If enabled this will add ``--help`` as argument - if no arguments are passed - :param hidden: hide this command from help outputs. - - :param deprecated: issues a message indicating that - the command is deprecated. - - .. versionchanged:: 8.1 - ``help``, ``epilog``, and ``short_help`` are stored unprocessed, - all formatting is done when outputting help text, not at init, - and is done even if not using the ``@command`` decorator. - - .. versionchanged:: 8.0 - Added a ``repr`` showing the command name. - - .. versionchanged:: 7.1 - Added the ``no_args_is_help`` parameter. - - .. versionchanged:: 2.0 - Added the ``context_settings`` parameter. - """ - - def __init__( - self, - name: t.Optional[str], - context_settings: t.Optional[t.MutableMapping[str, t.Any]] = None, - callback: t.Optional[t.Callable[..., t.Any]] = None, - params: t.Optional[t.List["Parameter"]] = None, - help: t.Optional[str] = None, - epilog: t.Optional[str] = None, - short_help: t.Optional[str] = None, - options_metavar: t.Optional[str] = "[OPTIONS]", - add_help_option: bool = True, - no_args_is_help: bool = False, - hidden: bool = False, - deprecated: bool = False, - ) -> None: - super().__init__(name, context_settings) - #: the callback to execute when the command fires. This might be - #: `None` in which case nothing happens. - self.callback = callback - #: the list of parameters for this command in the order they - #: should show up in the help page and execute. Eager parameters - #: will automatically be handled before non eager ones. - self.params: t.List["Parameter"] = params or [] - self.help = help - self.epilog = epilog - self.options_metavar = options_metavar - self.short_help = short_help - self.add_help_option = add_help_option - self.no_args_is_help = no_args_is_help - self.hidden = hidden - self.deprecated = deprecated - - def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict(ctx) - info_dict.update( - params=[param.to_info_dict() for param in self.get_params(ctx)], - help=self.help, - epilog=self.epilog, - short_help=self.short_help, - hidden=self.hidden, - deprecated=self.deprecated, - ) - return info_dict - - def get_usage(self, ctx: Context) -> str: - """Formats the usage line into a string and returns it. - - Calls :meth:`format_usage` internally. - """ - formatter = ctx.make_formatter() - self.format_usage(ctx, formatter) - return formatter.getvalue().rstrip("\n") - - def get_params(self, ctx: Context) -> t.List["Parameter"]: - rv = self.params - help_option = self.get_help_option(ctx) - - if help_option is not None: - rv = [*rv, help_option] - - return rv - - def format_usage(self, ctx: Context, formatter: HelpFormatter) -> None: - """Writes the usage line into the formatter. - - This is a low-level method called by :meth:`get_usage`. - """ - pieces = self.collect_usage_pieces(ctx) - formatter.write_usage(ctx.command_path, " ".join(pieces)) - - def collect_usage_pieces(self, ctx: Context) -> t.List[str]: - """Returns all the pieces that go into the usage line and returns - it as a list of strings. - """ - rv = [self.options_metavar] if self.options_metavar else [] - - for param in self.get_params(ctx): - rv.extend(param.get_usage_pieces(ctx)) - - return rv - - def get_help_option_names(self, ctx: Context) -> t.List[str]: - """Returns the names for the help option.""" - all_names = set(ctx.help_option_names) - for param in self.params: - all_names.difference_update(param.opts) - all_names.difference_update(param.secondary_opts) - return list(all_names) - - def get_help_option(self, ctx: Context) -> t.Optional["Option"]: - """Returns the help option object.""" - help_options = self.get_help_option_names(ctx) - - if not help_options or not self.add_help_option: - return None - - def show_help(ctx: Context, param: "Parameter", value: str) -> None: - if value and not ctx.resilient_parsing: - echo(ctx.get_help(), color=ctx.color) - ctx.exit() - - return Option( - help_options, - is_flag=True, - is_eager=True, - expose_value=False, - callback=show_help, - help=_("Show this message and exit."), - ) - - def make_parser(self, ctx: Context) -> OptionParser: - """Creates the underlying option parser for this command.""" - parser = OptionParser(ctx) - for param in self.get_params(ctx): - param.add_to_parser(parser, ctx) - return parser - - def get_help(self, ctx: Context) -> str: - """Formats the help into a string and returns it. - - Calls :meth:`format_help` internally. - """ - formatter = ctx.make_formatter() - self.format_help(ctx, formatter) - return formatter.getvalue().rstrip("\n") - - def get_short_help_str(self, limit: int = 45) -> str: - """Gets short help for the command or makes it by shortening the - long help string. - """ - if self.short_help: - text = inspect.cleandoc(self.short_help) - elif self.help: - text = make_default_short_help(self.help, limit) - else: - text = "" - - if self.deprecated: - text = _("(Deprecated) {text}").format(text=text) - - return text.strip() - - def format_help(self, ctx: Context, formatter: HelpFormatter) -> None: - """Writes the help into the formatter if it exists. - - This is a low-level method called by :meth:`get_help`. - - This calls the following methods: - - - :meth:`format_usage` - - :meth:`format_help_text` - - :meth:`format_options` - - :meth:`format_epilog` - """ - self.format_usage(ctx, formatter) - self.format_help_text(ctx, formatter) - self.format_options(ctx, formatter) - self.format_epilog(ctx, formatter) - - def format_help_text(self, ctx: Context, formatter: HelpFormatter) -> None: - """Writes the help text to the formatter if it exists.""" - if self.help is not None: - # truncate the help text to the first form feed - text = inspect.cleandoc(self.help).partition("\f")[0] - else: - text = "" - - if self.deprecated: - text = _("(Deprecated) {text}").format(text=text) - - if text: - formatter.write_paragraph() - - with formatter.indentation(): - formatter.write_text(text) - - def format_options(self, ctx: Context, formatter: HelpFormatter) -> None: - """Writes all the options into the formatter if they exist.""" - opts = [] - for param in self.get_params(ctx): - rv = param.get_help_record(ctx) - if rv is not None: - opts.append(rv) - - if opts: - with formatter.section(_("Options")): - formatter.write_dl(opts) - - def format_epilog(self, ctx: Context, formatter: HelpFormatter) -> None: - """Writes the epilog into the formatter if it exists.""" - if self.epilog: - epilog = inspect.cleandoc(self.epilog) - formatter.write_paragraph() - - with formatter.indentation(): - formatter.write_text(epilog) - - def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: - if not args and self.no_args_is_help and not ctx.resilient_parsing: - echo(ctx.get_help(), color=ctx.color) - ctx.exit() - - parser = self.make_parser(ctx) - opts, args, param_order = parser.parse_args(args=args) - - for param in iter_params_for_processing(param_order, self.get_params(ctx)): - value, args = param.handle_parse_result(ctx, opts, args) - - if args and not ctx.allow_extra_args and not ctx.resilient_parsing: - ctx.fail( - ngettext( - "Got unexpected extra argument ({args})", - "Got unexpected extra arguments ({args})", - len(args), - ).format(args=" ".join(map(str, args))) - ) - - ctx.args = args - ctx._opt_prefixes.update(parser._opt_prefixes) - return args - - def invoke(self, ctx: Context) -> t.Any: - """Given a context, this invokes the attached callback (if it exists) - in the right way. - """ - if self.deprecated: - message = _( - "DeprecationWarning: The command {name!r} is deprecated." - ).format(name=self.name) - echo(style(message, fg="red"), err=True) - - if self.callback is not None: - return ctx.invoke(self.callback, **ctx.params) - - def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: - """Return a list of completions for the incomplete value. Looks - at the names of options and chained multi-commands. - - :param ctx: Invocation context for this command. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - results: t.List["CompletionItem"] = [] - - if incomplete and not incomplete[0].isalnum(): - for param in self.get_params(ctx): - if ( - not isinstance(param, Option) - or param.hidden - or ( - not param.multiple - and ctx.get_parameter_source(param.name) # type: ignore - is ParameterSource.COMMANDLINE - ) - ): - continue - - results.extend( - CompletionItem(name, help=param.help) - for name in [*param.opts, *param.secondary_opts] - if name.startswith(incomplete) - ) - - results.extend(super().shell_complete(ctx, incomplete)) - return results - - -class MultiCommand(Command): - """A multi command is the basic implementation of a command that - dispatches to subcommands. The most common version is the - :class:`Group`. - - :param invoke_without_command: this controls how the multi command itself - is invoked. By default it's only invoked - if a subcommand is provided. - :param no_args_is_help: this controls what happens if no arguments are - provided. This option is enabled by default if - `invoke_without_command` is disabled or disabled - if it's enabled. If enabled this will add - ``--help`` as argument if no arguments are - passed. - :param subcommand_metavar: the string that is used in the documentation - to indicate the subcommand place. - :param chain: if this is set to `True` chaining of multiple subcommands - is enabled. This restricts the form of commands in that - they cannot have optional arguments but it allows - multiple commands to be chained together. - :param result_callback: The result callback to attach to this multi - command. This can be set or changed later with the - :meth:`result_callback` decorator. - :param attrs: Other command arguments described in :class:`Command`. - """ - - allow_extra_args = True - allow_interspersed_args = False - - def __init__( - self, - name: t.Optional[str] = None, - invoke_without_command: bool = False, - no_args_is_help: t.Optional[bool] = None, - subcommand_metavar: t.Optional[str] = None, - chain: bool = False, - result_callback: t.Optional[t.Callable[..., t.Any]] = None, - **attrs: t.Any, - ) -> None: - super().__init__(name, **attrs) - - if no_args_is_help is None: - no_args_is_help = not invoke_without_command - - self.no_args_is_help = no_args_is_help - self.invoke_without_command = invoke_without_command - - if subcommand_metavar is None: - if chain: - subcommand_metavar = "COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]..." - else: - subcommand_metavar = "COMMAND [ARGS]..." - - self.subcommand_metavar = subcommand_metavar - self.chain = chain - # The result callback that is stored. This can be set or - # overridden with the :func:`result_callback` decorator. - self._result_callback = result_callback - - if self.chain: - for param in self.params: - if isinstance(param, Argument) and not param.required: - raise RuntimeError( - "Multi commands in chain mode cannot have" - " optional arguments." - ) - - def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict(ctx) - commands = {} - - for name in self.list_commands(ctx): - command = self.get_command(ctx, name) - - if command is None: - continue - - sub_ctx = ctx._make_sub_context(command) - - with sub_ctx.scope(cleanup=False): - commands[name] = command.to_info_dict(sub_ctx) - - info_dict.update(commands=commands, chain=self.chain) - return info_dict - - def collect_usage_pieces(self, ctx: Context) -> t.List[str]: - rv = super().collect_usage_pieces(ctx) - rv.append(self.subcommand_metavar) - return rv - - def format_options(self, ctx: Context, formatter: HelpFormatter) -> None: - super().format_options(ctx, formatter) - self.format_commands(ctx, formatter) - - def result_callback(self, replace: bool = False) -> t.Callable[[F], F]: - """Adds a result callback to the command. By default if a - result callback is already registered this will chain them but - this can be disabled with the `replace` parameter. The result - callback is invoked with the return value of the subcommand - (or the list of return values from all subcommands if chaining - is enabled) as well as the parameters as they would be passed - to the main callback. - - Example:: - - @click.group() - @click.option('-i', '--input', default=23) - def cli(input): - return 42 - - @cli.result_callback() - def process_result(result, input): - return result + input - - :param replace: if set to `True` an already existing result - callback will be removed. - - .. versionchanged:: 8.0 - Renamed from ``resultcallback``. - - .. versionadded:: 3.0 - """ - - def decorator(f: F) -> F: - old_callback = self._result_callback - - if old_callback is None or replace: - self._result_callback = f - return f - - def function(__value, *args, **kwargs): # type: ignore - inner = old_callback(__value, *args, **kwargs) - return f(inner, *args, **kwargs) - - self._result_callback = rv = update_wrapper(t.cast(F, function), f) - return rv - - return decorator - - def format_commands(self, ctx: Context, formatter: HelpFormatter) -> None: - """Extra format methods for multi methods that adds all the commands - after the options. - """ - commands = [] - for subcommand in self.list_commands(ctx): - cmd = self.get_command(ctx, subcommand) - # What is this, the tool lied about a command. Ignore it - if cmd is None: - continue - if cmd.hidden: - continue - - commands.append((subcommand, cmd)) - - # allow for 3 times the default spacing - if len(commands): - limit = formatter.width - 6 - max(len(cmd[0]) for cmd in commands) - - rows = [] - for subcommand, cmd in commands: - help = cmd.get_short_help_str(limit) - rows.append((subcommand, help)) - - if rows: - with formatter.section(_("Commands")): - formatter.write_dl(rows) - - def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: - if not args and self.no_args_is_help and not ctx.resilient_parsing: - echo(ctx.get_help(), color=ctx.color) - ctx.exit() - - rest = super().parse_args(ctx, args) - - if self.chain: - ctx.protected_args = rest - ctx.args = [] - elif rest: - ctx.protected_args, ctx.args = rest[:1], rest[1:] - - return ctx.args - - def invoke(self, ctx: Context) -> t.Any: - def _process_result(value: t.Any) -> t.Any: - if self._result_callback is not None: - value = ctx.invoke(self._result_callback, value, **ctx.params) - return value - - if not ctx.protected_args: - if self.invoke_without_command: - # No subcommand was invoked, so the result callback is - # invoked with the group return value for regular - # groups, or an empty list for chained groups. - with ctx: - rv = super().invoke(ctx) - return _process_result([] if self.chain else rv) - ctx.fail(_("Missing command.")) - - # Fetch args back out - args = [*ctx.protected_args, *ctx.args] - ctx.args = [] - ctx.protected_args = [] - - # If we're not in chain mode, we only allow the invocation of a - # single command but we also inform the current context about the - # name of the command to invoke. - if not self.chain: - # Make sure the context is entered so we do not clean up - # resources until the result processor has worked. - with ctx: - cmd_name, cmd, args = self.resolve_command(ctx, args) - assert cmd is not None - ctx.invoked_subcommand = cmd_name - super().invoke(ctx) - sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) - with sub_ctx: - return _process_result(sub_ctx.command.invoke(sub_ctx)) - - # In chain mode we create the contexts step by step, but after the - # base command has been invoked. Because at that point we do not - # know the subcommands yet, the invoked subcommand attribute is - # set to ``*`` to inform the command that subcommands are executed - # but nothing else. - with ctx: - ctx.invoked_subcommand = "*" if args else None - super().invoke(ctx) - - # Otherwise we make every single context and invoke them in a - # chain. In that case the return value to the result processor - # is the list of all invoked subcommand's results. - contexts = [] - while args: - cmd_name, cmd, args = self.resolve_command(ctx, args) - assert cmd is not None - sub_ctx = cmd.make_context( - cmd_name, - args, - parent=ctx, - allow_extra_args=True, - allow_interspersed_args=False, - ) - contexts.append(sub_ctx) - args, sub_ctx.args = sub_ctx.args, [] - - rv = [] - for sub_ctx in contexts: - with sub_ctx: - rv.append(sub_ctx.command.invoke(sub_ctx)) - return _process_result(rv) - - def resolve_command( - self, ctx: Context, args: t.List[str] - ) -> t.Tuple[t.Optional[str], t.Optional[Command], t.List[str]]: - cmd_name = make_str(args[0]) - original_cmd_name = cmd_name - - # Get the command - cmd = self.get_command(ctx, cmd_name) - - # If we can't find the command but there is a normalization - # function available, we try with that one. - if cmd is None and ctx.token_normalize_func is not None: - cmd_name = ctx.token_normalize_func(cmd_name) - cmd = self.get_command(ctx, cmd_name) - - # If we don't find the command we want to show an error message - # to the user that it was not provided. However, there is - # something else we should do: if the first argument looks like - # an option we want to kick off parsing again for arguments to - # resolve things like --help which now should go to the main - # place. - if cmd is None and not ctx.resilient_parsing: - if split_opt(cmd_name)[0]: - self.parse_args(ctx, ctx.args) - ctx.fail(_("No such command {name!r}.").format(name=original_cmd_name)) - return cmd_name if cmd else None, cmd, args[1:] - - def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: - """Given a context and a command name, this returns a - :class:`Command` object if it exists or returns `None`. - """ - raise NotImplementedError - - def list_commands(self, ctx: Context) -> t.List[str]: - """Returns a list of subcommand names in the order they should - appear. - """ - return [] - - def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: - """Return a list of completions for the incomplete value. Looks - at the names of options, subcommands, and chained - multi-commands. - - :param ctx: Invocation context for this command. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - results = [ - CompletionItem(name, help=command.get_short_help_str()) - for name, command in _complete_visible_commands(ctx, incomplete) - ] - results.extend(super().shell_complete(ctx, incomplete)) - return results - - -class Group(MultiCommand): - """A group allows a command to have subcommands attached. This is - the most common way to implement nesting in Click. - - :param name: The name of the group command. - :param commands: A dict mapping names to :class:`Command` objects. - Can also be a list of :class:`Command`, which will use - :attr:`Command.name` to create the dict. - :param attrs: Other command arguments described in - :class:`MultiCommand`, :class:`Command`, and - :class:`BaseCommand`. - - .. versionchanged:: 8.0 - The ``commands`` argument can be a list of command objects. - """ - - #: If set, this is used by the group's :meth:`command` decorator - #: as the default :class:`Command` class. This is useful to make all - #: subcommands use a custom command class. - #: - #: .. versionadded:: 8.0 - command_class: t.Optional[t.Type[Command]] = None - - #: If set, this is used by the group's :meth:`group` decorator - #: as the default :class:`Group` class. This is useful to make all - #: subgroups use a custom group class. - #: - #: If set to the special value :class:`type` (literally - #: ``group_class = type``), this group's class will be used as the - #: default class. This makes a custom group class continue to make - #: custom groups. - #: - #: .. versionadded:: 8.0 - group_class: t.Optional[t.Union[t.Type["Group"], t.Type[type]]] = None - # Literal[type] isn't valid, so use Type[type] - - def __init__( - self, - name: t.Optional[str] = None, - commands: t.Optional[ - t.Union[t.MutableMapping[str, Command], t.Sequence[Command]] - ] = None, - **attrs: t.Any, - ) -> None: - super().__init__(name, **attrs) - - if commands is None: - commands = {} - elif isinstance(commands, abc.Sequence): - commands = {c.name: c for c in commands if c.name is not None} - - #: The registered subcommands by their exported names. - self.commands: t.MutableMapping[str, Command] = commands - - def add_command(self, cmd: Command, name: t.Optional[str] = None) -> None: - """Registers another :class:`Command` with this group. If the name - is not provided, the name of the command is used. - """ - name = name or cmd.name - if name is None: - raise TypeError("Command has no name.") - _check_multicommand(self, name, cmd, register=True) - self.commands[name] = cmd - - @t.overload - def command(self, __func: t.Callable[..., t.Any]) -> Command: - ... - - @t.overload - def command( - self, *args: t.Any, **kwargs: t.Any - ) -> t.Callable[[t.Callable[..., t.Any]], Command]: - ... - - def command( - self, *args: t.Any, **kwargs: t.Any - ) -> t.Union[t.Callable[[t.Callable[..., t.Any]], Command], Command]: - """A shortcut decorator for declaring and attaching a command to - the group. This takes the same arguments as :func:`command` and - immediately registers the created command with this group by - calling :meth:`add_command`. - - To customize the command class used, set the - :attr:`command_class` attribute. - - .. versionchanged:: 8.1 - This decorator can be applied without parentheses. - - .. versionchanged:: 8.0 - Added the :attr:`command_class` attribute. - """ - from .decorators import command - - func: t.Optional[t.Callable[..., t.Any]] = None - - if args and callable(args[0]): - assert ( - len(args) == 1 and not kwargs - ), "Use 'command(**kwargs)(callable)' to provide arguments." - (func,) = args - args = () - - if self.command_class and kwargs.get("cls") is None: - kwargs["cls"] = self.command_class - - def decorator(f: t.Callable[..., t.Any]) -> Command: - cmd: Command = command(*args, **kwargs)(f) - self.add_command(cmd) - return cmd - - if func is not None: - return decorator(func) - - return decorator - - @t.overload - def group(self, __func: t.Callable[..., t.Any]) -> "Group": - ... - - @t.overload - def group( - self, *args: t.Any, **kwargs: t.Any - ) -> t.Callable[[t.Callable[..., t.Any]], "Group"]: - ... - - def group( - self, *args: t.Any, **kwargs: t.Any - ) -> t.Union[t.Callable[[t.Callable[..., t.Any]], "Group"], "Group"]: - """A shortcut decorator for declaring and attaching a group to - the group. This takes the same arguments as :func:`group` and - immediately registers the created group with this group by - calling :meth:`add_command`. - - To customize the group class used, set the :attr:`group_class` - attribute. - - .. versionchanged:: 8.1 - This decorator can be applied without parentheses. - - .. versionchanged:: 8.0 - Added the :attr:`group_class` attribute. - """ - from .decorators import group - - func: t.Optional[t.Callable[..., t.Any]] = None - - if args and callable(args[0]): - assert ( - len(args) == 1 and not kwargs - ), "Use 'group(**kwargs)(callable)' to provide arguments." - (func,) = args - args = () - - if self.group_class is not None and kwargs.get("cls") is None: - if self.group_class is type: - kwargs["cls"] = type(self) - else: - kwargs["cls"] = self.group_class - - def decorator(f: t.Callable[..., t.Any]) -> "Group": - cmd: Group = group(*args, **kwargs)(f) - self.add_command(cmd) - return cmd - - if func is not None: - return decorator(func) - - return decorator - - def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: - return self.commands.get(cmd_name) - - def list_commands(self, ctx: Context) -> t.List[str]: - return sorted(self.commands) - - -class CommandCollection(MultiCommand): - """A command collection is a multi command that merges multiple multi - commands together into one. This is a straightforward implementation - that accepts a list of different multi commands as sources and - provides all the commands for each of them. - - See :class:`MultiCommand` and :class:`Command` for the description of - ``name`` and ``attrs``. - """ - - def __init__( - self, - name: t.Optional[str] = None, - sources: t.Optional[t.List[MultiCommand]] = None, - **attrs: t.Any, - ) -> None: - super().__init__(name, **attrs) - #: The list of registered multi commands. - self.sources: t.List[MultiCommand] = sources or [] - - def add_source(self, multi_cmd: MultiCommand) -> None: - """Adds a new multi command to the chain dispatcher.""" - self.sources.append(multi_cmd) - - def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: - for source in self.sources: - rv = source.get_command(ctx, cmd_name) - - if rv is not None: - if self.chain: - _check_multicommand(self, cmd_name, rv) - - return rv - - return None - - def list_commands(self, ctx: Context) -> t.List[str]: - rv: t.Set[str] = set() - - for source in self.sources: - rv.update(source.list_commands(ctx)) - - return sorted(rv) - - -def _check_iter(value: t.Any) -> t.Iterator[t.Any]: - """Check if the value is iterable but not a string. Raises a type - error, or return an iterator over the value. - """ - if isinstance(value, str): - raise TypeError - - return iter(value) - - -class Parameter: - r"""A parameter to a command comes in two versions: they are either - :class:`Option`\s or :class:`Argument`\s. Other subclasses are currently - not supported by design as some of the internals for parsing are - intentionally not finalized. - - Some settings are supported by both options and arguments. - - :param param_decls: the parameter declarations for this option or - argument. This is a list of flags or argument - names. - :param type: the type that should be used. Either a :class:`ParamType` - or a Python type. The latter is converted into the former - automatically if supported. - :param required: controls if this is optional or not. - :param default: the default value if omitted. This can also be a callable, - in which case it's invoked when the default is needed - without any arguments. - :param callback: A function to further process or validate the value - after type conversion. It is called as ``f(ctx, param, value)`` - and must return the value. It is called for all sources, - including prompts. - :param nargs: the number of arguments to match. If not ``1`` the return - value is a tuple instead of single value. The default for - nargs is ``1`` (except if the type is a tuple, then it's - the arity of the tuple). If ``nargs=-1``, all remaining - parameters are collected. - :param metavar: how the value is represented in the help page. - :param expose_value: if this is `True` then the value is passed onwards - to the command callback and stored on the context, - otherwise it's skipped. - :param is_eager: eager values are processed before non eager ones. This - should not be set for arguments or it will inverse the - order of processing. - :param envvar: a string or list of strings that are environment variables - that should be checked. - :param shell_complete: A function that returns custom shell - completions. Used instead of the param's type completion if - given. Takes ``ctx, param, incomplete`` and must return a list - of :class:`~click.shell_completion.CompletionItem` or a list of - strings. - - .. versionchanged:: 8.0 - ``process_value`` validates required parameters and bounded - ``nargs``, and invokes the parameter callback before returning - the value. This allows the callback to validate prompts. - ``full_process_value`` is removed. - - .. versionchanged:: 8.0 - ``autocompletion`` is renamed to ``shell_complete`` and has new - semantics described above. The old name is deprecated and will - be removed in 8.1, until then it will be wrapped to match the - new requirements. - - .. versionchanged:: 8.0 - For ``multiple=True, nargs>1``, the default must be a list of - tuples. - - .. versionchanged:: 8.0 - Setting a default is no longer required for ``nargs>1``, it will - default to ``None``. ``multiple=True`` or ``nargs=-1`` will - default to ``()``. - - .. versionchanged:: 7.1 - Empty environment variables are ignored rather than taking the - empty string value. This makes it possible for scripts to clear - variables if they can't unset them. - - .. versionchanged:: 2.0 - Changed signature for parameter callback to also be passed the - parameter. The old callback format will still work, but it will - raise a warning to give you a chance to migrate the code easier. - """ - - param_type_name = "parameter" - - def __init__( - self, - param_decls: t.Optional[t.Sequence[str]] = None, - type: t.Optional[t.Union[types.ParamType, t.Any]] = None, - required: bool = False, - default: t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]] = None, - callback: t.Optional[t.Callable[[Context, "Parameter", t.Any], t.Any]] = None, - nargs: t.Optional[int] = None, - multiple: bool = False, - metavar: t.Optional[str] = None, - expose_value: bool = True, - is_eager: bool = False, - envvar: t.Optional[t.Union[str, t.Sequence[str]]] = None, - shell_complete: t.Optional[ - t.Callable[ - [Context, "Parameter", str], - t.Union[t.List["CompletionItem"], t.List[str]], - ] - ] = None, - ) -> None: - self.name: t.Optional[str] - self.opts: t.List[str] - self.secondary_opts: t.List[str] - self.name, self.opts, self.secondary_opts = self._parse_decls( - param_decls or (), expose_value - ) - self.type: types.ParamType = types.convert_type(type, default) - - # Default nargs to what the type tells us if we have that - # information available. - if nargs is None: - if self.type.is_composite: - nargs = self.type.arity - else: - nargs = 1 - - self.required = required - self.callback = callback - self.nargs = nargs - self.multiple = multiple - self.expose_value = expose_value - self.default = default - self.is_eager = is_eager - self.metavar = metavar - self.envvar = envvar - self._custom_shell_complete = shell_complete - - if __debug__: - if self.type.is_composite and nargs != self.type.arity: - raise ValueError( - f"'nargs' must be {self.type.arity} (or None) for" - f" type {self.type!r}, but it was {nargs}." - ) - - # Skip no default or callable default. - check_default = default if not callable(default) else None - - if check_default is not None: - if multiple: - try: - # Only check the first value against nargs. - check_default = next(_check_iter(check_default), None) - except TypeError: - raise ValueError( - "'default' must be a list when 'multiple' is true." - ) from None - - # Can be None for multiple with empty default. - if nargs != 1 and check_default is not None: - try: - _check_iter(check_default) - except TypeError: - if multiple: - message = ( - "'default' must be a list of lists when 'multiple' is" - " true and 'nargs' != 1." - ) - else: - message = "'default' must be a list when 'nargs' != 1." - - raise ValueError(message) from None - - if nargs > 1 and len(check_default) != nargs: - subject = "item length" if multiple else "length" - raise ValueError( - f"'default' {subject} must match nargs={nargs}." - ) - - def to_info_dict(self) -> t.Dict[str, t.Any]: - """Gather information that could be useful for a tool generating - user-facing documentation. - - Use :meth:`click.Context.to_info_dict` to traverse the entire - CLI structure. - - .. versionadded:: 8.0 - """ - return { - "name": self.name, - "param_type_name": self.param_type_name, - "opts": self.opts, - "secondary_opts": self.secondary_opts, - "type": self.type.to_info_dict(), - "required": self.required, - "nargs": self.nargs, - "multiple": self.multiple, - "default": self.default, - "envvar": self.envvar, - } - - def __repr__(self) -> str: - return f"<{self.__class__.__name__} {self.name}>" - - def _parse_decls( - self, decls: t.Sequence[str], expose_value: bool - ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: - raise NotImplementedError() - - @property - def human_readable_name(self) -> str: - """Returns the human readable name of this parameter. This is the - same as the name for options, but the metavar for arguments. - """ - return self.name # type: ignore - - def make_metavar(self) -> str: - if self.metavar is not None: - return self.metavar - - metavar = self.type.get_metavar(self) - - if metavar is None: - metavar = self.type.name.upper() - - if self.nargs != 1: - metavar += "..." - - return metavar - - @t.overload - def get_default( - self, ctx: Context, call: "te.Literal[True]" = True - ) -> t.Optional[t.Any]: - ... - - @t.overload - def get_default( - self, ctx: Context, call: bool = ... - ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: - ... - - def get_default( - self, ctx: Context, call: bool = True - ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: - """Get the default for the parameter. Tries - :meth:`Context.lookup_default` first, then the local default. - - :param ctx: Current context. - :param call: If the default is a callable, call it. Disable to - return the callable instead. - - .. versionchanged:: 8.0.2 - Type casting is no longer performed when getting a default. - - .. versionchanged:: 8.0.1 - Type casting can fail in resilient parsing mode. Invalid - defaults will not prevent showing help text. - - .. versionchanged:: 8.0 - Looks at ``ctx.default_map`` first. - - .. versionchanged:: 8.0 - Added the ``call`` parameter. - """ - value = ctx.lookup_default(self.name, call=False) # type: ignore - - if value is None: - value = self.default - - if call and callable(value): - value = value() - - return value - - def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: - raise NotImplementedError() - - def consume_value( - self, ctx: Context, opts: t.Mapping[str, t.Any] - ) -> t.Tuple[t.Any, ParameterSource]: - value = opts.get(self.name) # type: ignore - source = ParameterSource.COMMANDLINE - - if value is None: - value = self.value_from_envvar(ctx) - source = ParameterSource.ENVIRONMENT - - if value is None: - value = ctx.lookup_default(self.name) # type: ignore - source = ParameterSource.DEFAULT_MAP - - if value is None: - value = self.get_default(ctx) - source = ParameterSource.DEFAULT - - return value, source - - def type_cast_value(self, ctx: Context, value: t.Any) -> t.Any: - """Convert and validate a value against the option's - :attr:`type`, :attr:`multiple`, and :attr:`nargs`. - """ - if value is None: - return () if self.multiple or self.nargs == -1 else None - - def check_iter(value: t.Any) -> t.Iterator[t.Any]: - try: - return _check_iter(value) - except TypeError: - # This should only happen when passing in args manually, - # the parser should construct an iterable when parsing - # the command line. - raise BadParameter( - _("Value must be an iterable."), ctx=ctx, param=self - ) from None - - if self.nargs == 1 or self.type.is_composite: - - def convert(value: t.Any) -> t.Any: - return self.type(value, param=self, ctx=ctx) - - elif self.nargs == -1: - - def convert(value: t.Any) -> t.Any: # t.Tuple[t.Any, ...] - return tuple(self.type(x, self, ctx) for x in check_iter(value)) - - else: # nargs > 1 - - def convert(value: t.Any) -> t.Any: # t.Tuple[t.Any, ...] - value = tuple(check_iter(value)) - - if len(value) != self.nargs: - raise BadParameter( - ngettext( - "Takes {nargs} values but 1 was given.", - "Takes {nargs} values but {len} were given.", - len(value), - ).format(nargs=self.nargs, len=len(value)), - ctx=ctx, - param=self, - ) - - return tuple(self.type(x, self, ctx) for x in value) - - if self.multiple: - return tuple(convert(x) for x in check_iter(value)) - - return convert(value) - - def value_is_missing(self, value: t.Any) -> bool: - if value is None: - return True - - if (self.nargs != 1 or self.multiple) and value == (): - return True - - return False - - def process_value(self, ctx: Context, value: t.Any) -> t.Any: - value = self.type_cast_value(ctx, value) - - if self.required and self.value_is_missing(value): - raise MissingParameter(ctx=ctx, param=self) - - if self.callback is not None: - value = self.callback(ctx, self, value) - - return value - - def resolve_envvar_value(self, ctx: Context) -> t.Optional[str]: - if self.envvar is None: - return None - - if isinstance(self.envvar, str): - rv = os.environ.get(self.envvar) - - if rv: - return rv - else: - for envvar in self.envvar: - rv = os.environ.get(envvar) - - if rv: - return rv - - return None - - def value_from_envvar(self, ctx: Context) -> t.Optional[t.Any]: - rv: t.Optional[t.Any] = self.resolve_envvar_value(ctx) - - if rv is not None and self.nargs != 1: - rv = self.type.split_envvar_value(rv) - - return rv - - def handle_parse_result( - self, ctx: Context, opts: t.Mapping[str, t.Any], args: t.List[str] - ) -> t.Tuple[t.Any, t.List[str]]: - with augment_usage_errors(ctx, param=self): - value, source = self.consume_value(ctx, opts) - ctx.set_parameter_source(self.name, source) # type: ignore - - try: - value = self.process_value(ctx, value) - except Exception: - if not ctx.resilient_parsing: - raise - - value = None - - if self.expose_value: - ctx.params[self.name] = value # type: ignore - - return value, args - - def get_help_record(self, ctx: Context) -> t.Optional[t.Tuple[str, str]]: - pass - - def get_usage_pieces(self, ctx: Context) -> t.List[str]: - return [] - - def get_error_hint(self, ctx: Context) -> str: - """Get a stringified version of the param for use in error messages to - indicate which param caused the error. - """ - hint_list = self.opts or [self.human_readable_name] - return " / ".join(f"'{x}'" for x in hint_list) - - def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: - """Return a list of completions for the incomplete value. If a - ``shell_complete`` function was given during init, it is used. - Otherwise, the :attr:`type` - :meth:`~click.types.ParamType.shell_complete` function is used. - - :param ctx: Invocation context for this command. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - if self._custom_shell_complete is not None: - results = self._custom_shell_complete(ctx, self, incomplete) - - if results and isinstance(results[0], str): - from click.shell_completion import CompletionItem - - results = [CompletionItem(c) for c in results] - - return t.cast(t.List["CompletionItem"], results) - - return self.type.shell_complete(ctx, self, incomplete) - - -class Option(Parameter): - """Options are usually optional values on the command line and - have some extra features that arguments don't have. - - All other parameters are passed onwards to the parameter constructor. - - :param show_default: Show the default value for this option in its - help text. Values are not shown by default, unless - :attr:`Context.show_default` is ``True``. If this value is a - string, it shows that string in parentheses instead of the - actual value. This is particularly useful for dynamic options. - For single option boolean flags, the default remains hidden if - its value is ``False``. - :param show_envvar: Controls if an environment variable should be - shown on the help page. Normally, environment variables are not - shown. - :param prompt: If set to ``True`` or a non empty string then the - user will be prompted for input. If set to ``True`` the prompt - will be the option name capitalized. - :param confirmation_prompt: Prompt a second time to confirm the - value if it was prompted for. Can be set to a string instead of - ``True`` to customize the message. - :param prompt_required: If set to ``False``, the user will be - prompted for input only when the option was specified as a flag - without a value. - :param hide_input: If this is ``True`` then the input on the prompt - will be hidden from the user. This is useful for password input. - :param is_flag: forces this option to act as a flag. The default is - auto detection. - :param flag_value: which value should be used for this flag if it's - enabled. This is set to a boolean automatically if - the option string contains a slash to mark two options. - :param multiple: if this is set to `True` then the argument is accepted - multiple times and recorded. This is similar to ``nargs`` - in how it works but supports arbitrary number of - arguments. - :param count: this flag makes an option increment an integer. - :param allow_from_autoenv: if this is enabled then the value of this - parameter will be pulled from an environment - variable in case a prefix is defined on the - context. - :param help: the help string. - :param hidden: hide this option from help outputs. - :param attrs: Other command arguments described in :class:`Parameter`. - - .. versionchanged:: 8.1.0 - Help text indentation is cleaned here instead of only in the - ``@option`` decorator. - - .. versionchanged:: 8.1.0 - The ``show_default`` parameter overrides - ``Context.show_default``. - - .. versionchanged:: 8.1.0 - The default of a single option boolean flag is not shown if the - default value is ``False``. - - .. versionchanged:: 8.0.1 - ``type`` is detected from ``flag_value`` if given. - """ - - param_type_name = "option" - - def __init__( - self, - param_decls: t.Optional[t.Sequence[str]] = None, - show_default: t.Union[bool, str, None] = None, - prompt: t.Union[bool, str] = False, - confirmation_prompt: t.Union[bool, str] = False, - prompt_required: bool = True, - hide_input: bool = False, - is_flag: t.Optional[bool] = None, - flag_value: t.Optional[t.Any] = None, - multiple: bool = False, - count: bool = False, - allow_from_autoenv: bool = True, - type: t.Optional[t.Union[types.ParamType, t.Any]] = None, - help: t.Optional[str] = None, - hidden: bool = False, - show_choices: bool = True, - show_envvar: bool = False, - **attrs: t.Any, - ) -> None: - if help: - help = inspect.cleandoc(help) - - default_is_missing = "default" not in attrs - super().__init__(param_decls, type=type, multiple=multiple, **attrs) - - if prompt is True: - if self.name is None: - raise TypeError("'name' is required with 'prompt=True'.") - - prompt_text: t.Optional[str] = self.name.replace("_", " ").capitalize() - elif prompt is False: - prompt_text = None - else: - prompt_text = prompt - - self.prompt = prompt_text - self.confirmation_prompt = confirmation_prompt - self.prompt_required = prompt_required - self.hide_input = hide_input - self.hidden = hidden - - # If prompt is enabled but not required, then the option can be - # used as a flag to indicate using prompt or flag_value. - self._flag_needs_value = self.prompt is not None and not self.prompt_required - - if is_flag is None: - if flag_value is not None: - # Implicitly a flag because flag_value was set. - is_flag = True - elif self._flag_needs_value: - # Not a flag, but when used as a flag it shows a prompt. - is_flag = False - else: - # Implicitly a flag because flag options were given. - is_flag = bool(self.secondary_opts) - elif is_flag is False and not self._flag_needs_value: - # Not a flag, and prompt is not enabled, can be used as a - # flag if flag_value is set. - self._flag_needs_value = flag_value is not None - - self.default: t.Union[t.Any, t.Callable[[], t.Any]] - - if is_flag and default_is_missing and not self.required: - if multiple: - self.default = () - else: - self.default = False - - if flag_value is None: - flag_value = not self.default - - self.type: types.ParamType - if is_flag and type is None: - # Re-guess the type from the flag value instead of the - # default. - self.type = types.convert_type(None, flag_value) - - self.is_flag: bool = is_flag - self.is_bool_flag: bool = is_flag and isinstance(self.type, types.BoolParamType) - self.flag_value: t.Any = flag_value - - # Counting - self.count = count - if count: - if type is None: - self.type = types.IntRange(min=0) - if default_is_missing: - self.default = 0 - - self.allow_from_autoenv = allow_from_autoenv - self.help = help - self.show_default = show_default - self.show_choices = show_choices - self.show_envvar = show_envvar - - if __debug__: - if self.nargs == -1: - raise TypeError("nargs=-1 is not supported for options.") - - if self.prompt and self.is_flag and not self.is_bool_flag: - raise TypeError("'prompt' is not valid for non-boolean flag.") - - if not self.is_bool_flag and self.secondary_opts: - raise TypeError("Secondary flag is not valid for non-boolean flag.") - - if self.is_bool_flag and self.hide_input and self.prompt is not None: - raise TypeError( - "'prompt' with 'hide_input' is not valid for boolean flag." - ) - - if self.count: - if self.multiple: - raise TypeError("'count' is not valid with 'multiple'.") - - if self.is_flag: - raise TypeError("'count' is not valid with 'is_flag'.") - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict.update( - help=self.help, - prompt=self.prompt, - is_flag=self.is_flag, - flag_value=self.flag_value, - count=self.count, - hidden=self.hidden, - ) - return info_dict - - def _parse_decls( - self, decls: t.Sequence[str], expose_value: bool - ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: - opts = [] - secondary_opts = [] - name = None - possible_names = [] - - for decl in decls: - if decl.isidentifier(): - if name is not None: - raise TypeError(f"Name '{name}' defined twice") - name = decl - else: - split_char = ";" if decl[:1] == "/" else "/" - if split_char in decl: - first, second = decl.split(split_char, 1) - first = first.rstrip() - if first: - possible_names.append(split_opt(first)) - opts.append(first) - second = second.lstrip() - if second: - secondary_opts.append(second.lstrip()) - if first == second: - raise ValueError( - f"Boolean option {decl!r} cannot use the" - " same flag for true/false." - ) - else: - possible_names.append(split_opt(decl)) - opts.append(decl) - - if name is None and possible_names: - possible_names.sort(key=lambda x: -len(x[0])) # group long options first - name = possible_names[0][1].replace("-", "_").lower() - if not name.isidentifier(): - name = None - - if name is None: - if not expose_value: - return None, opts, secondary_opts - raise TypeError("Could not determine name for option") - - if not opts and not secondary_opts: - raise TypeError( - f"No options defined but a name was passed ({name})." - " Did you mean to declare an argument instead? Did" - f" you mean to pass '--{name}'?" - ) - - return name, opts, secondary_opts - - def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: - if self.multiple: - action = "append" - elif self.count: - action = "count" - else: - action = "store" - - if self.is_flag: - action = f"{action}_const" - - if self.is_bool_flag and self.secondary_opts: - parser.add_option( - obj=self, opts=self.opts, dest=self.name, action=action, const=True - ) - parser.add_option( - obj=self, - opts=self.secondary_opts, - dest=self.name, - action=action, - const=False, - ) - else: - parser.add_option( - obj=self, - opts=self.opts, - dest=self.name, - action=action, - const=self.flag_value, - ) - else: - parser.add_option( - obj=self, - opts=self.opts, - dest=self.name, - action=action, - nargs=self.nargs, - ) - - def get_help_record(self, ctx: Context) -> t.Optional[t.Tuple[str, str]]: - if self.hidden: - return None - - any_prefix_is_slash = False - - def _write_opts(opts: t.Sequence[str]) -> str: - nonlocal any_prefix_is_slash - - rv, any_slashes = join_options(opts) - - if any_slashes: - any_prefix_is_slash = True - - if not self.is_flag and not self.count: - rv += f" {self.make_metavar()}" - - return rv - - rv = [_write_opts(self.opts)] - - if self.secondary_opts: - rv.append(_write_opts(self.secondary_opts)) - - help = self.help or "" - extra = [] - - if self.show_envvar: - envvar = self.envvar - - if envvar is None: - if ( - self.allow_from_autoenv - and ctx.auto_envvar_prefix is not None - and self.name is not None - ): - envvar = f"{ctx.auto_envvar_prefix}_{self.name.upper()}" - - if envvar is not None: - var_str = ( - envvar - if isinstance(envvar, str) - else ", ".join(str(d) for d in envvar) - ) - extra.append(_("env var: {var}").format(var=var_str)) - - # Temporarily enable resilient parsing to avoid type casting - # failing for the default. Might be possible to extend this to - # help formatting in general. - resilient = ctx.resilient_parsing - ctx.resilient_parsing = True - - try: - default_value = self.get_default(ctx, call=False) - finally: - ctx.resilient_parsing = resilient - - show_default = False - show_default_is_str = False - - if self.show_default is not None: - if isinstance(self.show_default, str): - show_default_is_str = show_default = True - else: - show_default = self.show_default - elif ctx.show_default is not None: - show_default = ctx.show_default - - if show_default_is_str or (show_default and (default_value is not None)): - if show_default_is_str: - default_string = f"({self.show_default})" - elif isinstance(default_value, (list, tuple)): - default_string = ", ".join(str(d) for d in default_value) - elif inspect.isfunction(default_value): - default_string = _("(dynamic)") - elif self.is_bool_flag and self.secondary_opts: - # For boolean flags that have distinct True/False opts, - # use the opt without prefix instead of the value. - default_string = split_opt( - (self.opts if self.default else self.secondary_opts)[0] - )[1] - elif self.is_bool_flag and not self.secondary_opts and not default_value: - default_string = "" - else: - default_string = str(default_value) - - if default_string: - extra.append(_("default: {default}").format(default=default_string)) - - if ( - isinstance(self.type, types._NumberRangeBase) - # skip count with default range type - and not (self.count and self.type.min == 0 and self.type.max is None) - ): - range_str = self.type._describe_range() - - if range_str: - extra.append(range_str) - - if self.required: - extra.append(_("required")) - - if extra: - extra_str = "; ".join(extra) - help = f"{help} [{extra_str}]" if help else f"[{extra_str}]" - - return ("; " if any_prefix_is_slash else " / ").join(rv), help - - @t.overload - def get_default( - self, ctx: Context, call: "te.Literal[True]" = True - ) -> t.Optional[t.Any]: - ... - - @t.overload - def get_default( - self, ctx: Context, call: bool = ... - ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: - ... - - def get_default( - self, ctx: Context, call: bool = True - ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: - # If we're a non boolean flag our default is more complex because - # we need to look at all flags in the same group to figure out - # if we're the default one in which case we return the flag - # value as default. - if self.is_flag and not self.is_bool_flag: - for param in ctx.command.params: - if param.name == self.name and param.default: - return t.cast(Option, param).flag_value - - return None - - return super().get_default(ctx, call=call) - - def prompt_for_value(self, ctx: Context) -> t.Any: - """This is an alternative flow that can be activated in the full - value processing if a value does not exist. It will prompt the - user until a valid value exists and then returns the processed - value as result. - """ - assert self.prompt is not None - - # Calculate the default before prompting anything to be stable. - default = self.get_default(ctx) - - # If this is a prompt for a flag we need to handle this - # differently. - if self.is_bool_flag: - return confirm(self.prompt, default) - - return prompt( - self.prompt, - default=default, - type=self.type, - hide_input=self.hide_input, - show_choices=self.show_choices, - confirmation_prompt=self.confirmation_prompt, - value_proc=lambda x: self.process_value(ctx, x), - ) - - def resolve_envvar_value(self, ctx: Context) -> t.Optional[str]: - rv = super().resolve_envvar_value(ctx) - - if rv is not None: - return rv - - if ( - self.allow_from_autoenv - and ctx.auto_envvar_prefix is not None - and self.name is not None - ): - envvar = f"{ctx.auto_envvar_prefix}_{self.name.upper()}" - rv = os.environ.get(envvar) - - if rv: - return rv - - return None - - def value_from_envvar(self, ctx: Context) -> t.Optional[t.Any]: - rv: t.Optional[t.Any] = self.resolve_envvar_value(ctx) - - if rv is None: - return None - - value_depth = (self.nargs != 1) + bool(self.multiple) - - if value_depth > 0: - rv = self.type.split_envvar_value(rv) - - if self.multiple and self.nargs != 1: - rv = batch(rv, self.nargs) - - return rv - - def consume_value( - self, ctx: Context, opts: t.Mapping[str, "Parameter"] - ) -> t.Tuple[t.Any, ParameterSource]: - value, source = super().consume_value(ctx, opts) - - # The parser will emit a sentinel value if the option can be - # given as a flag without a value. This is different from None - # to distinguish from the flag not being given at all. - if value is _flag_needs_value: - if self.prompt is not None and not ctx.resilient_parsing: - value = self.prompt_for_value(ctx) - source = ParameterSource.PROMPT - else: - value = self.flag_value - source = ParameterSource.COMMANDLINE - - elif ( - self.multiple - and value is not None - and any(v is _flag_needs_value for v in value) - ): - value = [self.flag_value if v is _flag_needs_value else v for v in value] - source = ParameterSource.COMMANDLINE - - # The value wasn't set, or used the param's default, prompt if - # prompting is enabled. - elif ( - source in {None, ParameterSource.DEFAULT} - and self.prompt is not None - and (self.required or self.prompt_required) - and not ctx.resilient_parsing - ): - value = self.prompt_for_value(ctx) - source = ParameterSource.PROMPT - - return value, source - - -class Argument(Parameter): - """Arguments are positional parameters to a command. They generally - provide fewer features than options but can have infinite ``nargs`` - and are required by default. - - All parameters are passed onwards to the constructor of :class:`Parameter`. - """ - - param_type_name = "argument" - - def __init__( - self, - param_decls: t.Sequence[str], - required: t.Optional[bool] = None, - **attrs: t.Any, - ) -> None: - if required is None: - if attrs.get("default") is not None: - required = False - else: - required = attrs.get("nargs", 1) > 0 - - if "multiple" in attrs: - raise TypeError("__init__() got an unexpected keyword argument 'multiple'.") - - super().__init__(param_decls, required=required, **attrs) - - if __debug__: - if self.default is not None and self.nargs == -1: - raise TypeError("'default' is not supported for nargs=-1.") - - @property - def human_readable_name(self) -> str: - if self.metavar is not None: - return self.metavar - return self.name.upper() # type: ignore - - def make_metavar(self) -> str: - if self.metavar is not None: - return self.metavar - var = self.type.get_metavar(self) - if not var: - var = self.name.upper() # type: ignore - if not self.required: - var = f"[{var}]" - if self.nargs != 1: - var += "..." - return var - - def _parse_decls( - self, decls: t.Sequence[str], expose_value: bool - ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: - if not decls: - if not expose_value: - return None, [], [] - raise TypeError("Could not determine name for argument") - if len(decls) == 1: - name = arg = decls[0] - name = name.replace("-", "_").lower() - else: - raise TypeError( - "Arguments take exactly one parameter declaration, got" - f" {len(decls)}." - ) - return name, [arg], [] - - def get_usage_pieces(self, ctx: Context) -> t.List[str]: - return [self.make_metavar()] - - def get_error_hint(self, ctx: Context) -> str: - return f"'{self.make_metavar()}'" - - def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: - parser.add_argument(dest=self.name, nargs=self.nargs, obj=self) diff --git a/venv/lib/python3.11/site-packages/click/decorators.py b/venv/lib/python3.11/site-packages/click/decorators.py deleted file mode 100644 index d9bba95..0000000 --- a/venv/lib/python3.11/site-packages/click/decorators.py +++ /dev/null @@ -1,561 +0,0 @@ -import inspect -import types -import typing as t -from functools import update_wrapper -from gettext import gettext as _ - -from .core import Argument -from .core import Command -from .core import Context -from .core import Group -from .core import Option -from .core import Parameter -from .globals import get_current_context -from .utils import echo - -if t.TYPE_CHECKING: - import typing_extensions as te - - P = te.ParamSpec("P") - -R = t.TypeVar("R") -T = t.TypeVar("T") -_AnyCallable = t.Callable[..., t.Any] -FC = t.TypeVar("FC", bound=t.Union[_AnyCallable, Command]) - - -def pass_context(f: "t.Callable[te.Concatenate[Context, P], R]") -> "t.Callable[P, R]": - """Marks a callback as wanting to receive the current context - object as first argument. - """ - - def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": - return f(get_current_context(), *args, **kwargs) - - return update_wrapper(new_func, f) - - -def pass_obj(f: "t.Callable[te.Concatenate[t.Any, P], R]") -> "t.Callable[P, R]": - """Similar to :func:`pass_context`, but only pass the object on the - context onwards (:attr:`Context.obj`). This is useful if that object - represents the state of a nested system. - """ - - def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": - return f(get_current_context().obj, *args, **kwargs) - - return update_wrapper(new_func, f) - - -def make_pass_decorator( - object_type: t.Type[T], ensure: bool = False -) -> t.Callable[["t.Callable[te.Concatenate[T, P], R]"], "t.Callable[P, R]"]: - """Given an object type this creates a decorator that will work - similar to :func:`pass_obj` but instead of passing the object of the - current context, it will find the innermost context of type - :func:`object_type`. - - This generates a decorator that works roughly like this:: - - from functools import update_wrapper - - def decorator(f): - @pass_context - def new_func(ctx, *args, **kwargs): - obj = ctx.find_object(object_type) - return ctx.invoke(f, obj, *args, **kwargs) - return update_wrapper(new_func, f) - return decorator - - :param object_type: the type of the object to pass. - :param ensure: if set to `True`, a new object will be created and - remembered on the context if it's not there yet. - """ - - def decorator(f: "t.Callable[te.Concatenate[T, P], R]") -> "t.Callable[P, R]": - def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": - ctx = get_current_context() - - obj: t.Optional[T] - if ensure: - obj = ctx.ensure_object(object_type) - else: - obj = ctx.find_object(object_type) - - if obj is None: - raise RuntimeError( - "Managed to invoke callback without a context" - f" object of type {object_type.__name__!r}" - " existing." - ) - - return ctx.invoke(f, obj, *args, **kwargs) - - return update_wrapper(new_func, f) - - return decorator # type: ignore[return-value] - - -def pass_meta_key( - key: str, *, doc_description: t.Optional[str] = None -) -> "t.Callable[[t.Callable[te.Concatenate[t.Any, P], R]], t.Callable[P, R]]": - """Create a decorator that passes a key from - :attr:`click.Context.meta` as the first argument to the decorated - function. - - :param key: Key in ``Context.meta`` to pass. - :param doc_description: Description of the object being passed, - inserted into the decorator's docstring. Defaults to "the 'key' - key from Context.meta". - - .. versionadded:: 8.0 - """ - - def decorator(f: "t.Callable[te.Concatenate[t.Any, P], R]") -> "t.Callable[P, R]": - def new_func(*args: "P.args", **kwargs: "P.kwargs") -> R: - ctx = get_current_context() - obj = ctx.meta[key] - return ctx.invoke(f, obj, *args, **kwargs) - - return update_wrapper(new_func, f) - - if doc_description is None: - doc_description = f"the {key!r} key from :attr:`click.Context.meta`" - - decorator.__doc__ = ( - f"Decorator that passes {doc_description} as the first argument" - " to the decorated function." - ) - return decorator # type: ignore[return-value] - - -CmdType = t.TypeVar("CmdType", bound=Command) - - -# variant: no call, directly as decorator for a function. -@t.overload -def command(name: _AnyCallable) -> Command: - ... - - -# variant: with positional name and with positional or keyword cls argument: -# @command(namearg, CommandCls, ...) or @command(namearg, cls=CommandCls, ...) -@t.overload -def command( - name: t.Optional[str], - cls: t.Type[CmdType], - **attrs: t.Any, -) -> t.Callable[[_AnyCallable], CmdType]: - ... - - -# variant: name omitted, cls _must_ be a keyword argument, @command(cls=CommandCls, ...) -@t.overload -def command( - name: None = None, - *, - cls: t.Type[CmdType], - **attrs: t.Any, -) -> t.Callable[[_AnyCallable], CmdType]: - ... - - -# variant: with optional string name, no cls argument provided. -@t.overload -def command( - name: t.Optional[str] = ..., cls: None = None, **attrs: t.Any -) -> t.Callable[[_AnyCallable], Command]: - ... - - -def command( - name: t.Union[t.Optional[str], _AnyCallable] = None, - cls: t.Optional[t.Type[CmdType]] = None, - **attrs: t.Any, -) -> t.Union[Command, t.Callable[[_AnyCallable], t.Union[Command, CmdType]]]: - r"""Creates a new :class:`Command` and uses the decorated function as - callback. This will also automatically attach all decorated - :func:`option`\s and :func:`argument`\s as parameters to the command. - - The name of the command defaults to the name of the function with - underscores replaced by dashes. If you want to change that, you can - pass the intended name as the first argument. - - All keyword arguments are forwarded to the underlying command class. - For the ``params`` argument, any decorated params are appended to - the end of the list. - - Once decorated the function turns into a :class:`Command` instance - that can be invoked as a command line utility or be attached to a - command :class:`Group`. - - :param name: the name of the command. This defaults to the function - name with underscores replaced by dashes. - :param cls: the command class to instantiate. This defaults to - :class:`Command`. - - .. versionchanged:: 8.1 - This decorator can be applied without parentheses. - - .. versionchanged:: 8.1 - The ``params`` argument can be used. Decorated params are - appended to the end of the list. - """ - - func: t.Optional[t.Callable[[_AnyCallable], t.Any]] = None - - if callable(name): - func = name - name = None - assert cls is None, "Use 'command(cls=cls)(callable)' to specify a class." - assert not attrs, "Use 'command(**kwargs)(callable)' to provide arguments." - - if cls is None: - cls = t.cast(t.Type[CmdType], Command) - - def decorator(f: _AnyCallable) -> CmdType: - if isinstance(f, Command): - raise TypeError("Attempted to convert a callback into a command twice.") - - attr_params = attrs.pop("params", None) - params = attr_params if attr_params is not None else [] - - try: - decorator_params = f.__click_params__ # type: ignore - except AttributeError: - pass - else: - del f.__click_params__ # type: ignore - params.extend(reversed(decorator_params)) - - if attrs.get("help") is None: - attrs["help"] = f.__doc__ - - if t.TYPE_CHECKING: - assert cls is not None - assert not callable(name) - - cmd = cls( - name=name or f.__name__.lower().replace("_", "-"), - callback=f, - params=params, - **attrs, - ) - cmd.__doc__ = f.__doc__ - return cmd - - if func is not None: - return decorator(func) - - return decorator - - -GrpType = t.TypeVar("GrpType", bound=Group) - - -# variant: no call, directly as decorator for a function. -@t.overload -def group(name: _AnyCallable) -> Group: - ... - - -# variant: with positional name and with positional or keyword cls argument: -# @group(namearg, GroupCls, ...) or @group(namearg, cls=GroupCls, ...) -@t.overload -def group( - name: t.Optional[str], - cls: t.Type[GrpType], - **attrs: t.Any, -) -> t.Callable[[_AnyCallable], GrpType]: - ... - - -# variant: name omitted, cls _must_ be a keyword argument, @group(cmd=GroupCls, ...) -@t.overload -def group( - name: None = None, - *, - cls: t.Type[GrpType], - **attrs: t.Any, -) -> t.Callable[[_AnyCallable], GrpType]: - ... - - -# variant: with optional string name, no cls argument provided. -@t.overload -def group( - name: t.Optional[str] = ..., cls: None = None, **attrs: t.Any -) -> t.Callable[[_AnyCallable], Group]: - ... - - -def group( - name: t.Union[str, _AnyCallable, None] = None, - cls: t.Optional[t.Type[GrpType]] = None, - **attrs: t.Any, -) -> t.Union[Group, t.Callable[[_AnyCallable], t.Union[Group, GrpType]]]: - """Creates a new :class:`Group` with a function as callback. This - works otherwise the same as :func:`command` just that the `cls` - parameter is set to :class:`Group`. - - .. versionchanged:: 8.1 - This decorator can be applied without parentheses. - """ - if cls is None: - cls = t.cast(t.Type[GrpType], Group) - - if callable(name): - return command(cls=cls, **attrs)(name) - - return command(name, cls, **attrs) - - -def _param_memo(f: t.Callable[..., t.Any], param: Parameter) -> None: - if isinstance(f, Command): - f.params.append(param) - else: - if not hasattr(f, "__click_params__"): - f.__click_params__ = [] # type: ignore - - f.__click_params__.append(param) # type: ignore - - -def argument( - *param_decls: str, cls: t.Optional[t.Type[Argument]] = None, **attrs: t.Any -) -> t.Callable[[FC], FC]: - """Attaches an argument to the command. All positional arguments are - passed as parameter declarations to :class:`Argument`; all keyword - arguments are forwarded unchanged (except ``cls``). - This is equivalent to creating an :class:`Argument` instance manually - and attaching it to the :attr:`Command.params` list. - - For the default argument class, refer to :class:`Argument` and - :class:`Parameter` for descriptions of parameters. - - :param cls: the argument class to instantiate. This defaults to - :class:`Argument`. - :param param_decls: Passed as positional arguments to the constructor of - ``cls``. - :param attrs: Passed as keyword arguments to the constructor of ``cls``. - """ - if cls is None: - cls = Argument - - def decorator(f: FC) -> FC: - _param_memo(f, cls(param_decls, **attrs)) - return f - - return decorator - - -def option( - *param_decls: str, cls: t.Optional[t.Type[Option]] = None, **attrs: t.Any -) -> t.Callable[[FC], FC]: - """Attaches an option to the command. All positional arguments are - passed as parameter declarations to :class:`Option`; all keyword - arguments are forwarded unchanged (except ``cls``). - This is equivalent to creating an :class:`Option` instance manually - and attaching it to the :attr:`Command.params` list. - - For the default option class, refer to :class:`Option` and - :class:`Parameter` for descriptions of parameters. - - :param cls: the option class to instantiate. This defaults to - :class:`Option`. - :param param_decls: Passed as positional arguments to the constructor of - ``cls``. - :param attrs: Passed as keyword arguments to the constructor of ``cls``. - """ - if cls is None: - cls = Option - - def decorator(f: FC) -> FC: - _param_memo(f, cls(param_decls, **attrs)) - return f - - return decorator - - -def confirmation_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: - """Add a ``--yes`` option which shows a prompt before continuing if - not passed. If the prompt is declined, the program will exit. - - :param param_decls: One or more option names. Defaults to the single - value ``"--yes"``. - :param kwargs: Extra arguments are passed to :func:`option`. - """ - - def callback(ctx: Context, param: Parameter, value: bool) -> None: - if not value: - ctx.abort() - - if not param_decls: - param_decls = ("--yes",) - - kwargs.setdefault("is_flag", True) - kwargs.setdefault("callback", callback) - kwargs.setdefault("expose_value", False) - kwargs.setdefault("prompt", "Do you want to continue?") - kwargs.setdefault("help", "Confirm the action without prompting.") - return option(*param_decls, **kwargs) - - -def password_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: - """Add a ``--password`` option which prompts for a password, hiding - input and asking to enter the value again for confirmation. - - :param param_decls: One or more option names. Defaults to the single - value ``"--password"``. - :param kwargs: Extra arguments are passed to :func:`option`. - """ - if not param_decls: - param_decls = ("--password",) - - kwargs.setdefault("prompt", True) - kwargs.setdefault("confirmation_prompt", True) - kwargs.setdefault("hide_input", True) - return option(*param_decls, **kwargs) - - -def version_option( - version: t.Optional[str] = None, - *param_decls: str, - package_name: t.Optional[str] = None, - prog_name: t.Optional[str] = None, - message: t.Optional[str] = None, - **kwargs: t.Any, -) -> t.Callable[[FC], FC]: - """Add a ``--version`` option which immediately prints the version - number and exits the program. - - If ``version`` is not provided, Click will try to detect it using - :func:`importlib.metadata.version` to get the version for the - ``package_name``. On Python < 3.8, the ``importlib_metadata`` - backport must be installed. - - If ``package_name`` is not provided, Click will try to detect it by - inspecting the stack frames. This will be used to detect the - version, so it must match the name of the installed package. - - :param version: The version number to show. If not provided, Click - will try to detect it. - :param param_decls: One or more option names. Defaults to the single - value ``"--version"``. - :param package_name: The package name to detect the version from. If - not provided, Click will try to detect it. - :param prog_name: The name of the CLI to show in the message. If not - provided, it will be detected from the command. - :param message: The message to show. The values ``%(prog)s``, - ``%(package)s``, and ``%(version)s`` are available. Defaults to - ``"%(prog)s, version %(version)s"``. - :param kwargs: Extra arguments are passed to :func:`option`. - :raise RuntimeError: ``version`` could not be detected. - - .. versionchanged:: 8.0 - Add the ``package_name`` parameter, and the ``%(package)s`` - value for messages. - - .. versionchanged:: 8.0 - Use :mod:`importlib.metadata` instead of ``pkg_resources``. The - version is detected based on the package name, not the entry - point name. The Python package name must match the installed - package name, or be passed with ``package_name=``. - """ - if message is None: - message = _("%(prog)s, version %(version)s") - - if version is None and package_name is None: - frame = inspect.currentframe() - f_back = frame.f_back if frame is not None else None - f_globals = f_back.f_globals if f_back is not None else None - # break reference cycle - # https://docs.python.org/3/library/inspect.html#the-interpreter-stack - del frame - - if f_globals is not None: - package_name = f_globals.get("__name__") - - if package_name == "__main__": - package_name = f_globals.get("__package__") - - if package_name: - package_name = package_name.partition(".")[0] - - def callback(ctx: Context, param: Parameter, value: bool) -> None: - if not value or ctx.resilient_parsing: - return - - nonlocal prog_name - nonlocal version - - if prog_name is None: - prog_name = ctx.find_root().info_name - - if version is None and package_name is not None: - metadata: t.Optional[types.ModuleType] - - try: - from importlib import metadata # type: ignore - except ImportError: - # Python < 3.8 - import importlib_metadata as metadata # type: ignore - - try: - version = metadata.version(package_name) # type: ignore - except metadata.PackageNotFoundError: # type: ignore - raise RuntimeError( - f"{package_name!r} is not installed. Try passing" - " 'package_name' instead." - ) from None - - if version is None: - raise RuntimeError( - f"Could not determine the version for {package_name!r} automatically." - ) - - echo( - message % {"prog": prog_name, "package": package_name, "version": version}, - color=ctx.color, - ) - ctx.exit() - - if not param_decls: - param_decls = ("--version",) - - kwargs.setdefault("is_flag", True) - kwargs.setdefault("expose_value", False) - kwargs.setdefault("is_eager", True) - kwargs.setdefault("help", _("Show the version and exit.")) - kwargs["callback"] = callback - return option(*param_decls, **kwargs) - - -def help_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: - """Add a ``--help`` option which immediately prints the help page - and exits the program. - - This is usually unnecessary, as the ``--help`` option is added to - each command automatically unless ``add_help_option=False`` is - passed. - - :param param_decls: One or more option names. Defaults to the single - value ``"--help"``. - :param kwargs: Extra arguments are passed to :func:`option`. - """ - - def callback(ctx: Context, param: Parameter, value: bool) -> None: - if not value or ctx.resilient_parsing: - return - - echo(ctx.get_help(), color=ctx.color) - ctx.exit() - - if not param_decls: - param_decls = ("--help",) - - kwargs.setdefault("is_flag", True) - kwargs.setdefault("expose_value", False) - kwargs.setdefault("is_eager", True) - kwargs.setdefault("help", _("Show this message and exit.")) - kwargs["callback"] = callback - return option(*param_decls, **kwargs) diff --git a/venv/lib/python3.11/site-packages/click/exceptions.py b/venv/lib/python3.11/site-packages/click/exceptions.py deleted file mode 100644 index fe68a36..0000000 --- a/venv/lib/python3.11/site-packages/click/exceptions.py +++ /dev/null @@ -1,288 +0,0 @@ -import typing as t -from gettext import gettext as _ -from gettext import ngettext - -from ._compat import get_text_stderr -from .utils import echo -from .utils import format_filename - -if t.TYPE_CHECKING: - from .core import Command - from .core import Context - from .core import Parameter - - -def _join_param_hints( - param_hint: t.Optional[t.Union[t.Sequence[str], str]] -) -> t.Optional[str]: - if param_hint is not None and not isinstance(param_hint, str): - return " / ".join(repr(x) for x in param_hint) - - return param_hint - - -class ClickException(Exception): - """An exception that Click can handle and show to the user.""" - - #: The exit code for this exception. - exit_code = 1 - - def __init__(self, message: str) -> None: - super().__init__(message) - self.message = message - - def format_message(self) -> str: - return self.message - - def __str__(self) -> str: - return self.message - - def show(self, file: t.Optional[t.IO[t.Any]] = None) -> None: - if file is None: - file = get_text_stderr() - - echo(_("Error: {message}").format(message=self.format_message()), file=file) - - -class UsageError(ClickException): - """An internal exception that signals a usage error. This typically - aborts any further handling. - - :param message: the error message to display. - :param ctx: optionally the context that caused this error. Click will - fill in the context automatically in some situations. - """ - - exit_code = 2 - - def __init__(self, message: str, ctx: t.Optional["Context"] = None) -> None: - super().__init__(message) - self.ctx = ctx - self.cmd: t.Optional["Command"] = self.ctx.command if self.ctx else None - - def show(self, file: t.Optional[t.IO[t.Any]] = None) -> None: - if file is None: - file = get_text_stderr() - color = None - hint = "" - if ( - self.ctx is not None - and self.ctx.command.get_help_option(self.ctx) is not None - ): - hint = _("Try '{command} {option}' for help.").format( - command=self.ctx.command_path, option=self.ctx.help_option_names[0] - ) - hint = f"{hint}\n" - if self.ctx is not None: - color = self.ctx.color - echo(f"{self.ctx.get_usage()}\n{hint}", file=file, color=color) - echo( - _("Error: {message}").format(message=self.format_message()), - file=file, - color=color, - ) - - -class BadParameter(UsageError): - """An exception that formats out a standardized error message for a - bad parameter. This is useful when thrown from a callback or type as - Click will attach contextual information to it (for instance, which - parameter it is). - - .. versionadded:: 2.0 - - :param param: the parameter object that caused this error. This can - be left out, and Click will attach this info itself - if possible. - :param param_hint: a string that shows up as parameter name. This - can be used as alternative to `param` in cases - where custom validation should happen. If it is - a string it's used as such, if it's a list then - each item is quoted and separated. - """ - - def __init__( - self, - message: str, - ctx: t.Optional["Context"] = None, - param: t.Optional["Parameter"] = None, - param_hint: t.Optional[str] = None, - ) -> None: - super().__init__(message, ctx) - self.param = param - self.param_hint = param_hint - - def format_message(self) -> str: - if self.param_hint is not None: - param_hint = self.param_hint - elif self.param is not None: - param_hint = self.param.get_error_hint(self.ctx) # type: ignore - else: - return _("Invalid value: {message}").format(message=self.message) - - return _("Invalid value for {param_hint}: {message}").format( - param_hint=_join_param_hints(param_hint), message=self.message - ) - - -class MissingParameter(BadParameter): - """Raised if click required an option or argument but it was not - provided when invoking the script. - - .. versionadded:: 4.0 - - :param param_type: a string that indicates the type of the parameter. - The default is to inherit the parameter type from - the given `param`. Valid values are ``'parameter'``, - ``'option'`` or ``'argument'``. - """ - - def __init__( - self, - message: t.Optional[str] = None, - ctx: t.Optional["Context"] = None, - param: t.Optional["Parameter"] = None, - param_hint: t.Optional[str] = None, - param_type: t.Optional[str] = None, - ) -> None: - super().__init__(message or "", ctx, param, param_hint) - self.param_type = param_type - - def format_message(self) -> str: - if self.param_hint is not None: - param_hint: t.Optional[str] = self.param_hint - elif self.param is not None: - param_hint = self.param.get_error_hint(self.ctx) # type: ignore - else: - param_hint = None - - param_hint = _join_param_hints(param_hint) - param_hint = f" {param_hint}" if param_hint else "" - - param_type = self.param_type - if param_type is None and self.param is not None: - param_type = self.param.param_type_name - - msg = self.message - if self.param is not None: - msg_extra = self.param.type.get_missing_message(self.param) - if msg_extra: - if msg: - msg += f". {msg_extra}" - else: - msg = msg_extra - - msg = f" {msg}" if msg else "" - - # Translate param_type for known types. - if param_type == "argument": - missing = _("Missing argument") - elif param_type == "option": - missing = _("Missing option") - elif param_type == "parameter": - missing = _("Missing parameter") - else: - missing = _("Missing {param_type}").format(param_type=param_type) - - return f"{missing}{param_hint}.{msg}" - - def __str__(self) -> str: - if not self.message: - param_name = self.param.name if self.param else None - return _("Missing parameter: {param_name}").format(param_name=param_name) - else: - return self.message - - -class NoSuchOption(UsageError): - """Raised if click attempted to handle an option that does not - exist. - - .. versionadded:: 4.0 - """ - - def __init__( - self, - option_name: str, - message: t.Optional[str] = None, - possibilities: t.Optional[t.Sequence[str]] = None, - ctx: t.Optional["Context"] = None, - ) -> None: - if message is None: - message = _("No such option: {name}").format(name=option_name) - - super().__init__(message, ctx) - self.option_name = option_name - self.possibilities = possibilities - - def format_message(self) -> str: - if not self.possibilities: - return self.message - - possibility_str = ", ".join(sorted(self.possibilities)) - suggest = ngettext( - "Did you mean {possibility}?", - "(Possible options: {possibilities})", - len(self.possibilities), - ).format(possibility=possibility_str, possibilities=possibility_str) - return f"{self.message} {suggest}" - - -class BadOptionUsage(UsageError): - """Raised if an option is generally supplied but the use of the option - was incorrect. This is for instance raised if the number of arguments - for an option is not correct. - - .. versionadded:: 4.0 - - :param option_name: the name of the option being used incorrectly. - """ - - def __init__( - self, option_name: str, message: str, ctx: t.Optional["Context"] = None - ) -> None: - super().__init__(message, ctx) - self.option_name = option_name - - -class BadArgumentUsage(UsageError): - """Raised if an argument is generally supplied but the use of the argument - was incorrect. This is for instance raised if the number of values - for an argument is not correct. - - .. versionadded:: 6.0 - """ - - -class FileError(ClickException): - """Raised if a file cannot be opened.""" - - def __init__(self, filename: str, hint: t.Optional[str] = None) -> None: - if hint is None: - hint = _("unknown error") - - super().__init__(hint) - self.ui_filename: str = format_filename(filename) - self.filename = filename - - def format_message(self) -> str: - return _("Could not open file {filename!r}: {message}").format( - filename=self.ui_filename, message=self.message - ) - - -class Abort(RuntimeError): - """An internal signalling exception that signals Click to abort.""" - - -class Exit(RuntimeError): - """An exception that indicates that the application should exit with some - status code. - - :param code: the status code to exit with. - """ - - __slots__ = ("exit_code",) - - def __init__(self, code: int = 0) -> None: - self.exit_code: int = code diff --git a/venv/lib/python3.11/site-packages/click/formatting.py b/venv/lib/python3.11/site-packages/click/formatting.py deleted file mode 100644 index ddd2a2f..0000000 --- a/venv/lib/python3.11/site-packages/click/formatting.py +++ /dev/null @@ -1,301 +0,0 @@ -import typing as t -from contextlib import contextmanager -from gettext import gettext as _ - -from ._compat import term_len -from .parser import split_opt - -# Can force a width. This is used by the test system -FORCED_WIDTH: t.Optional[int] = None - - -def measure_table(rows: t.Iterable[t.Tuple[str, str]]) -> t.Tuple[int, ...]: - widths: t.Dict[int, int] = {} - - for row in rows: - for idx, col in enumerate(row): - widths[idx] = max(widths.get(idx, 0), term_len(col)) - - return tuple(y for x, y in sorted(widths.items())) - - -def iter_rows( - rows: t.Iterable[t.Tuple[str, str]], col_count: int -) -> t.Iterator[t.Tuple[str, ...]]: - for row in rows: - yield row + ("",) * (col_count - len(row)) - - -def wrap_text( - text: str, - width: int = 78, - initial_indent: str = "", - subsequent_indent: str = "", - preserve_paragraphs: bool = False, -) -> str: - """A helper function that intelligently wraps text. By default, it - assumes that it operates on a single paragraph of text but if the - `preserve_paragraphs` parameter is provided it will intelligently - handle paragraphs (defined by two empty lines). - - If paragraphs are handled, a paragraph can be prefixed with an empty - line containing the ``\\b`` character (``\\x08``) to indicate that - no rewrapping should happen in that block. - - :param text: the text that should be rewrapped. - :param width: the maximum width for the text. - :param initial_indent: the initial indent that should be placed on the - first line as a string. - :param subsequent_indent: the indent string that should be placed on - each consecutive line. - :param preserve_paragraphs: if this flag is set then the wrapping will - intelligently handle paragraphs. - """ - from ._textwrap import TextWrapper - - text = text.expandtabs() - wrapper = TextWrapper( - width, - initial_indent=initial_indent, - subsequent_indent=subsequent_indent, - replace_whitespace=False, - ) - if not preserve_paragraphs: - return wrapper.fill(text) - - p: t.List[t.Tuple[int, bool, str]] = [] - buf: t.List[str] = [] - indent = None - - def _flush_par() -> None: - if not buf: - return - if buf[0].strip() == "\b": - p.append((indent or 0, True, "\n".join(buf[1:]))) - else: - p.append((indent or 0, False, " ".join(buf))) - del buf[:] - - for line in text.splitlines(): - if not line: - _flush_par() - indent = None - else: - if indent is None: - orig_len = term_len(line) - line = line.lstrip() - indent = orig_len - term_len(line) - buf.append(line) - _flush_par() - - rv = [] - for indent, raw, text in p: - with wrapper.extra_indent(" " * indent): - if raw: - rv.append(wrapper.indent_only(text)) - else: - rv.append(wrapper.fill(text)) - - return "\n\n".join(rv) - - -class HelpFormatter: - """This class helps with formatting text-based help pages. It's - usually just needed for very special internal cases, but it's also - exposed so that developers can write their own fancy outputs. - - At present, it always writes into memory. - - :param indent_increment: the additional increment for each level. - :param width: the width for the text. This defaults to the terminal - width clamped to a maximum of 78. - """ - - def __init__( - self, - indent_increment: int = 2, - width: t.Optional[int] = None, - max_width: t.Optional[int] = None, - ) -> None: - import shutil - - self.indent_increment = indent_increment - if max_width is None: - max_width = 80 - if width is None: - width = FORCED_WIDTH - if width is None: - width = max(min(shutil.get_terminal_size().columns, max_width) - 2, 50) - self.width = width - self.current_indent = 0 - self.buffer: t.List[str] = [] - - def write(self, string: str) -> None: - """Writes a unicode string into the internal buffer.""" - self.buffer.append(string) - - def indent(self) -> None: - """Increases the indentation.""" - self.current_indent += self.indent_increment - - def dedent(self) -> None: - """Decreases the indentation.""" - self.current_indent -= self.indent_increment - - def write_usage( - self, prog: str, args: str = "", prefix: t.Optional[str] = None - ) -> None: - """Writes a usage line into the buffer. - - :param prog: the program name. - :param args: whitespace separated list of arguments. - :param prefix: The prefix for the first line. Defaults to - ``"Usage: "``. - """ - if prefix is None: - prefix = f"{_('Usage:')} " - - usage_prefix = f"{prefix:>{self.current_indent}}{prog} " - text_width = self.width - self.current_indent - - if text_width >= (term_len(usage_prefix) + 20): - # The arguments will fit to the right of the prefix. - indent = " " * term_len(usage_prefix) - self.write( - wrap_text( - args, - text_width, - initial_indent=usage_prefix, - subsequent_indent=indent, - ) - ) - else: - # The prefix is too long, put the arguments on the next line. - self.write(usage_prefix) - self.write("\n") - indent = " " * (max(self.current_indent, term_len(prefix)) + 4) - self.write( - wrap_text( - args, text_width, initial_indent=indent, subsequent_indent=indent - ) - ) - - self.write("\n") - - def write_heading(self, heading: str) -> None: - """Writes a heading into the buffer.""" - self.write(f"{'':>{self.current_indent}}{heading}:\n") - - def write_paragraph(self) -> None: - """Writes a paragraph into the buffer.""" - if self.buffer: - self.write("\n") - - def write_text(self, text: str) -> None: - """Writes re-indented text into the buffer. This rewraps and - preserves paragraphs. - """ - indent = " " * self.current_indent - self.write( - wrap_text( - text, - self.width, - initial_indent=indent, - subsequent_indent=indent, - preserve_paragraphs=True, - ) - ) - self.write("\n") - - def write_dl( - self, - rows: t.Sequence[t.Tuple[str, str]], - col_max: int = 30, - col_spacing: int = 2, - ) -> None: - """Writes a definition list into the buffer. This is how options - and commands are usually formatted. - - :param rows: a list of two item tuples for the terms and values. - :param col_max: the maximum width of the first column. - :param col_spacing: the number of spaces between the first and - second column. - """ - rows = list(rows) - widths = measure_table(rows) - if len(widths) != 2: - raise TypeError("Expected two columns for definition list") - - first_col = min(widths[0], col_max) + col_spacing - - for first, second in iter_rows(rows, len(widths)): - self.write(f"{'':>{self.current_indent}}{first}") - if not second: - self.write("\n") - continue - if term_len(first) <= first_col - col_spacing: - self.write(" " * (first_col - term_len(first))) - else: - self.write("\n") - self.write(" " * (first_col + self.current_indent)) - - text_width = max(self.width - first_col - 2, 10) - wrapped_text = wrap_text(second, text_width, preserve_paragraphs=True) - lines = wrapped_text.splitlines() - - if lines: - self.write(f"{lines[0]}\n") - - for line in lines[1:]: - self.write(f"{'':>{first_col + self.current_indent}}{line}\n") - else: - self.write("\n") - - @contextmanager - def section(self, name: str) -> t.Iterator[None]: - """Helpful context manager that writes a paragraph, a heading, - and the indents. - - :param name: the section name that is written as heading. - """ - self.write_paragraph() - self.write_heading(name) - self.indent() - try: - yield - finally: - self.dedent() - - @contextmanager - def indentation(self) -> t.Iterator[None]: - """A context manager that increases the indentation.""" - self.indent() - try: - yield - finally: - self.dedent() - - def getvalue(self) -> str: - """Returns the buffer contents.""" - return "".join(self.buffer) - - -def join_options(options: t.Sequence[str]) -> t.Tuple[str, bool]: - """Given a list of option strings this joins them in the most appropriate - way and returns them in the form ``(formatted_string, - any_prefix_is_slash)`` where the second item in the tuple is a flag that - indicates if any of the option prefixes was a slash. - """ - rv = [] - any_prefix_is_slash = False - - for opt in options: - prefix = split_opt(opt)[0] - - if prefix == "/": - any_prefix_is_slash = True - - rv.append((len(prefix), opt)) - - rv.sort(key=lambda x: x[0]) - return ", ".join(x[1] for x in rv), any_prefix_is_slash diff --git a/venv/lib/python3.11/site-packages/click/globals.py b/venv/lib/python3.11/site-packages/click/globals.py deleted file mode 100644 index 480058f..0000000 --- a/venv/lib/python3.11/site-packages/click/globals.py +++ /dev/null @@ -1,68 +0,0 @@ -import typing as t -from threading import local - -if t.TYPE_CHECKING: - import typing_extensions as te - from .core import Context - -_local = local() - - -@t.overload -def get_current_context(silent: "te.Literal[False]" = False) -> "Context": - ... - - -@t.overload -def get_current_context(silent: bool = ...) -> t.Optional["Context"]: - ... - - -def get_current_context(silent: bool = False) -> t.Optional["Context"]: - """Returns the current click context. This can be used as a way to - access the current context object from anywhere. This is a more implicit - alternative to the :func:`pass_context` decorator. This function is - primarily useful for helpers such as :func:`echo` which might be - interested in changing its behavior based on the current context. - - To push the current context, :meth:`Context.scope` can be used. - - .. versionadded:: 5.0 - - :param silent: if set to `True` the return value is `None` if no context - is available. The default behavior is to raise a - :exc:`RuntimeError`. - """ - try: - return t.cast("Context", _local.stack[-1]) - except (AttributeError, IndexError) as e: - if not silent: - raise RuntimeError("There is no active click context.") from e - - return None - - -def push_context(ctx: "Context") -> None: - """Pushes a new context to the current stack.""" - _local.__dict__.setdefault("stack", []).append(ctx) - - -def pop_context() -> None: - """Removes the top level from the stack.""" - _local.stack.pop() - - -def resolve_color_default(color: t.Optional[bool] = None) -> t.Optional[bool]: - """Internal helper to get the default value of the color flag. If a - value is passed it's returned unchanged, otherwise it's looked up from - the current context. - """ - if color is not None: - return color - - ctx = get_current_context(silent=True) - - if ctx is not None: - return ctx.color - - return None diff --git a/venv/lib/python3.11/site-packages/click/parser.py b/venv/lib/python3.11/site-packages/click/parser.py deleted file mode 100644 index 5fa7adf..0000000 --- a/venv/lib/python3.11/site-packages/click/parser.py +++ /dev/null @@ -1,529 +0,0 @@ -""" -This module started out as largely a copy paste from the stdlib's -optparse module with the features removed that we do not need from -optparse because we implement them in Click on a higher level (for -instance type handling, help formatting and a lot more). - -The plan is to remove more and more from here over time. - -The reason this is a different module and not optparse from the stdlib -is that there are differences in 2.x and 3.x about the error messages -generated and optparse in the stdlib uses gettext for no good reason -and might cause us issues. - -Click uses parts of optparse written by Gregory P. Ward and maintained -by the Python Software Foundation. This is limited to code in parser.py. - -Copyright 2001-2006 Gregory P. Ward. All rights reserved. -Copyright 2002-2006 Python Software Foundation. All rights reserved. -""" -# This code uses parts of optparse written by Gregory P. Ward and -# maintained by the Python Software Foundation. -# Copyright 2001-2006 Gregory P. Ward -# Copyright 2002-2006 Python Software Foundation -import typing as t -from collections import deque -from gettext import gettext as _ -from gettext import ngettext - -from .exceptions import BadArgumentUsage -from .exceptions import BadOptionUsage -from .exceptions import NoSuchOption -from .exceptions import UsageError - -if t.TYPE_CHECKING: - import typing_extensions as te - from .core import Argument as CoreArgument - from .core import Context - from .core import Option as CoreOption - from .core import Parameter as CoreParameter - -V = t.TypeVar("V") - -# Sentinel value that indicates an option was passed as a flag without a -# value but is not a flag option. Option.consume_value uses this to -# prompt or use the flag_value. -_flag_needs_value = object() - - -def _unpack_args( - args: t.Sequence[str], nargs_spec: t.Sequence[int] -) -> t.Tuple[t.Sequence[t.Union[str, t.Sequence[t.Optional[str]], None]], t.List[str]]: - """Given an iterable of arguments and an iterable of nargs specifications, - it returns a tuple with all the unpacked arguments at the first index - and all remaining arguments as the second. - - The nargs specification is the number of arguments that should be consumed - or `-1` to indicate that this position should eat up all the remainders. - - Missing items are filled with `None`. - """ - args = deque(args) - nargs_spec = deque(nargs_spec) - rv: t.List[t.Union[str, t.Tuple[t.Optional[str], ...], None]] = [] - spos: t.Optional[int] = None - - def _fetch(c: "te.Deque[V]") -> t.Optional[V]: - try: - if spos is None: - return c.popleft() - else: - return c.pop() - except IndexError: - return None - - while nargs_spec: - nargs = _fetch(nargs_spec) - - if nargs is None: - continue - - if nargs == 1: - rv.append(_fetch(args)) - elif nargs > 1: - x = [_fetch(args) for _ in range(nargs)] - - # If we're reversed, we're pulling in the arguments in reverse, - # so we need to turn them around. - if spos is not None: - x.reverse() - - rv.append(tuple(x)) - elif nargs < 0: - if spos is not None: - raise TypeError("Cannot have two nargs < 0") - - spos = len(rv) - rv.append(None) - - # spos is the position of the wildcard (star). If it's not `None`, - # we fill it with the remainder. - if spos is not None: - rv[spos] = tuple(args) - args = [] - rv[spos + 1 :] = reversed(rv[spos + 1 :]) - - return tuple(rv), list(args) - - -def split_opt(opt: str) -> t.Tuple[str, str]: - first = opt[:1] - if first.isalnum(): - return "", opt - if opt[1:2] == first: - return opt[:2], opt[2:] - return first, opt[1:] - - -def normalize_opt(opt: str, ctx: t.Optional["Context"]) -> str: - if ctx is None or ctx.token_normalize_func is None: - return opt - prefix, opt = split_opt(opt) - return f"{prefix}{ctx.token_normalize_func(opt)}" - - -def split_arg_string(string: str) -> t.List[str]: - """Split an argument string as with :func:`shlex.split`, but don't - fail if the string is incomplete. Ignores a missing closing quote or - incomplete escape sequence and uses the partial token as-is. - - .. code-block:: python - - split_arg_string("example 'my file") - ["example", "my file"] - - split_arg_string("example my\\") - ["example", "my"] - - :param string: String to split. - """ - import shlex - - lex = shlex.shlex(string, posix=True) - lex.whitespace_split = True - lex.commenters = "" - out = [] - - try: - for token in lex: - out.append(token) - except ValueError: - # Raised when end-of-string is reached in an invalid state. Use - # the partial token as-is. The quote or escape character is in - # lex.state, not lex.token. - out.append(lex.token) - - return out - - -class Option: - def __init__( - self, - obj: "CoreOption", - opts: t.Sequence[str], - dest: t.Optional[str], - action: t.Optional[str] = None, - nargs: int = 1, - const: t.Optional[t.Any] = None, - ): - self._short_opts = [] - self._long_opts = [] - self.prefixes: t.Set[str] = set() - - for opt in opts: - prefix, value = split_opt(opt) - if not prefix: - raise ValueError(f"Invalid start character for option ({opt})") - self.prefixes.add(prefix[0]) - if len(prefix) == 1 and len(value) == 1: - self._short_opts.append(opt) - else: - self._long_opts.append(opt) - self.prefixes.add(prefix) - - if action is None: - action = "store" - - self.dest = dest - self.action = action - self.nargs = nargs - self.const = const - self.obj = obj - - @property - def takes_value(self) -> bool: - return self.action in ("store", "append") - - def process(self, value: t.Any, state: "ParsingState") -> None: - if self.action == "store": - state.opts[self.dest] = value # type: ignore - elif self.action == "store_const": - state.opts[self.dest] = self.const # type: ignore - elif self.action == "append": - state.opts.setdefault(self.dest, []).append(value) # type: ignore - elif self.action == "append_const": - state.opts.setdefault(self.dest, []).append(self.const) # type: ignore - elif self.action == "count": - state.opts[self.dest] = state.opts.get(self.dest, 0) + 1 # type: ignore - else: - raise ValueError(f"unknown action '{self.action}'") - state.order.append(self.obj) - - -class Argument: - def __init__(self, obj: "CoreArgument", dest: t.Optional[str], nargs: int = 1): - self.dest = dest - self.nargs = nargs - self.obj = obj - - def process( - self, - value: t.Union[t.Optional[str], t.Sequence[t.Optional[str]]], - state: "ParsingState", - ) -> None: - if self.nargs > 1: - assert value is not None - holes = sum(1 for x in value if x is None) - if holes == len(value): - value = None - elif holes != 0: - raise BadArgumentUsage( - _("Argument {name!r} takes {nargs} values.").format( - name=self.dest, nargs=self.nargs - ) - ) - - if self.nargs == -1 and self.obj.envvar is not None and value == (): - # Replace empty tuple with None so that a value from the - # environment may be tried. - value = None - - state.opts[self.dest] = value # type: ignore - state.order.append(self.obj) - - -class ParsingState: - def __init__(self, rargs: t.List[str]) -> None: - self.opts: t.Dict[str, t.Any] = {} - self.largs: t.List[str] = [] - self.rargs = rargs - self.order: t.List["CoreParameter"] = [] - - -class OptionParser: - """The option parser is an internal class that is ultimately used to - parse options and arguments. It's modelled after optparse and brings - a similar but vastly simplified API. It should generally not be used - directly as the high level Click classes wrap it for you. - - It's not nearly as extensible as optparse or argparse as it does not - implement features that are implemented on a higher level (such as - types or defaults). - - :param ctx: optionally the :class:`~click.Context` where this parser - should go with. - """ - - def __init__(self, ctx: t.Optional["Context"] = None) -> None: - #: The :class:`~click.Context` for this parser. This might be - #: `None` for some advanced use cases. - self.ctx = ctx - #: This controls how the parser deals with interspersed arguments. - #: If this is set to `False`, the parser will stop on the first - #: non-option. Click uses this to implement nested subcommands - #: safely. - self.allow_interspersed_args: bool = True - #: This tells the parser how to deal with unknown options. By - #: default it will error out (which is sensible), but there is a - #: second mode where it will ignore it and continue processing - #: after shifting all the unknown options into the resulting args. - self.ignore_unknown_options: bool = False - - if ctx is not None: - self.allow_interspersed_args = ctx.allow_interspersed_args - self.ignore_unknown_options = ctx.ignore_unknown_options - - self._short_opt: t.Dict[str, Option] = {} - self._long_opt: t.Dict[str, Option] = {} - self._opt_prefixes = {"-", "--"} - self._args: t.List[Argument] = [] - - def add_option( - self, - obj: "CoreOption", - opts: t.Sequence[str], - dest: t.Optional[str], - action: t.Optional[str] = None, - nargs: int = 1, - const: t.Optional[t.Any] = None, - ) -> None: - """Adds a new option named `dest` to the parser. The destination - is not inferred (unlike with optparse) and needs to be explicitly - provided. Action can be any of ``store``, ``store_const``, - ``append``, ``append_const`` or ``count``. - - The `obj` can be used to identify the option in the order list - that is returned from the parser. - """ - opts = [normalize_opt(opt, self.ctx) for opt in opts] - option = Option(obj, opts, dest, action=action, nargs=nargs, const=const) - self._opt_prefixes.update(option.prefixes) - for opt in option._short_opts: - self._short_opt[opt] = option - for opt in option._long_opts: - self._long_opt[opt] = option - - def add_argument( - self, obj: "CoreArgument", dest: t.Optional[str], nargs: int = 1 - ) -> None: - """Adds a positional argument named `dest` to the parser. - - The `obj` can be used to identify the option in the order list - that is returned from the parser. - """ - self._args.append(Argument(obj, dest=dest, nargs=nargs)) - - def parse_args( - self, args: t.List[str] - ) -> t.Tuple[t.Dict[str, t.Any], t.List[str], t.List["CoreParameter"]]: - """Parses positional arguments and returns ``(values, args, order)`` - for the parsed options and arguments as well as the leftover - arguments if there are any. The order is a list of objects as they - appear on the command line. If arguments appear multiple times they - will be memorized multiple times as well. - """ - state = ParsingState(args) - try: - self._process_args_for_options(state) - self._process_args_for_args(state) - except UsageError: - if self.ctx is None or not self.ctx.resilient_parsing: - raise - return state.opts, state.largs, state.order - - def _process_args_for_args(self, state: ParsingState) -> None: - pargs, args = _unpack_args( - state.largs + state.rargs, [x.nargs for x in self._args] - ) - - for idx, arg in enumerate(self._args): - arg.process(pargs[idx], state) - - state.largs = args - state.rargs = [] - - def _process_args_for_options(self, state: ParsingState) -> None: - while state.rargs: - arg = state.rargs.pop(0) - arglen = len(arg) - # Double dashes always handled explicitly regardless of what - # prefixes are valid. - if arg == "--": - return - elif arg[:1] in self._opt_prefixes and arglen > 1: - self._process_opts(arg, state) - elif self.allow_interspersed_args: - state.largs.append(arg) - else: - state.rargs.insert(0, arg) - return - - # Say this is the original argument list: - # [arg0, arg1, ..., arg(i-1), arg(i), arg(i+1), ..., arg(N-1)] - # ^ - # (we are about to process arg(i)). - # - # Then rargs is [arg(i), ..., arg(N-1)] and largs is a *subset* of - # [arg0, ..., arg(i-1)] (any options and their arguments will have - # been removed from largs). - # - # The while loop will usually consume 1 or more arguments per pass. - # If it consumes 1 (eg. arg is an option that takes no arguments), - # then after _process_arg() is done the situation is: - # - # largs = subset of [arg0, ..., arg(i)] - # rargs = [arg(i+1), ..., arg(N-1)] - # - # If allow_interspersed_args is false, largs will always be - # *empty* -- still a subset of [arg0, ..., arg(i-1)], but - # not a very interesting subset! - - def _match_long_opt( - self, opt: str, explicit_value: t.Optional[str], state: ParsingState - ) -> None: - if opt not in self._long_opt: - from difflib import get_close_matches - - possibilities = get_close_matches(opt, self._long_opt) - raise NoSuchOption(opt, possibilities=possibilities, ctx=self.ctx) - - option = self._long_opt[opt] - if option.takes_value: - # At this point it's safe to modify rargs by injecting the - # explicit value, because no exception is raised in this - # branch. This means that the inserted value will be fully - # consumed. - if explicit_value is not None: - state.rargs.insert(0, explicit_value) - - value = self._get_value_from_state(opt, option, state) - - elif explicit_value is not None: - raise BadOptionUsage( - opt, _("Option {name!r} does not take a value.").format(name=opt) - ) - - else: - value = None - - option.process(value, state) - - def _match_short_opt(self, arg: str, state: ParsingState) -> None: - stop = False - i = 1 - prefix = arg[0] - unknown_options = [] - - for ch in arg[1:]: - opt = normalize_opt(f"{prefix}{ch}", self.ctx) - option = self._short_opt.get(opt) - i += 1 - - if not option: - if self.ignore_unknown_options: - unknown_options.append(ch) - continue - raise NoSuchOption(opt, ctx=self.ctx) - if option.takes_value: - # Any characters left in arg? Pretend they're the - # next arg, and stop consuming characters of arg. - if i < len(arg): - state.rargs.insert(0, arg[i:]) - stop = True - - value = self._get_value_from_state(opt, option, state) - - else: - value = None - - option.process(value, state) - - if stop: - break - - # If we got any unknown options we recombine the string of the - # remaining options and re-attach the prefix, then report that - # to the state as new larg. This way there is basic combinatorics - # that can be achieved while still ignoring unknown arguments. - if self.ignore_unknown_options and unknown_options: - state.largs.append(f"{prefix}{''.join(unknown_options)}") - - def _get_value_from_state( - self, option_name: str, option: Option, state: ParsingState - ) -> t.Any: - nargs = option.nargs - - if len(state.rargs) < nargs: - if option.obj._flag_needs_value: - # Option allows omitting the value. - value = _flag_needs_value - else: - raise BadOptionUsage( - option_name, - ngettext( - "Option {name!r} requires an argument.", - "Option {name!r} requires {nargs} arguments.", - nargs, - ).format(name=option_name, nargs=nargs), - ) - elif nargs == 1: - next_rarg = state.rargs[0] - - if ( - option.obj._flag_needs_value - and isinstance(next_rarg, str) - and next_rarg[:1] in self._opt_prefixes - and len(next_rarg) > 1 - ): - # The next arg looks like the start of an option, don't - # use it as the value if omitting the value is allowed. - value = _flag_needs_value - else: - value = state.rargs.pop(0) - else: - value = tuple(state.rargs[:nargs]) - del state.rargs[:nargs] - - return value - - def _process_opts(self, arg: str, state: ParsingState) -> None: - explicit_value = None - # Long option handling happens in two parts. The first part is - # supporting explicitly attached values. In any case, we will try - # to long match the option first. - if "=" in arg: - long_opt, explicit_value = arg.split("=", 1) - else: - long_opt = arg - norm_long_opt = normalize_opt(long_opt, self.ctx) - - # At this point we will match the (assumed) long option through - # the long option matching code. Note that this allows options - # like "-foo" to be matched as long options. - try: - self._match_long_opt(norm_long_opt, explicit_value, state) - except NoSuchOption: - # At this point the long option matching failed, and we need - # to try with short options. However there is a special rule - # which says, that if we have a two character options prefix - # (applies to "--foo" for instance), we do not dispatch to the - # short option code and will instead raise the no option - # error. - if arg[:2] not in self._opt_prefixes: - self._match_short_opt(arg, state) - return - - if not self.ignore_unknown_options: - raise - - state.largs.append(arg) diff --git a/venv/lib/python3.11/site-packages/click/py.typed b/venv/lib/python3.11/site-packages/click/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.11/site-packages/click/shell_completion.py b/venv/lib/python3.11/site-packages/click/shell_completion.py deleted file mode 100644 index dc9e00b..0000000 --- a/venv/lib/python3.11/site-packages/click/shell_completion.py +++ /dev/null @@ -1,596 +0,0 @@ -import os -import re -import typing as t -from gettext import gettext as _ - -from .core import Argument -from .core import BaseCommand -from .core import Context -from .core import MultiCommand -from .core import Option -from .core import Parameter -from .core import ParameterSource -from .parser import split_arg_string -from .utils import echo - - -def shell_complete( - cli: BaseCommand, - ctx_args: t.MutableMapping[str, t.Any], - prog_name: str, - complete_var: str, - instruction: str, -) -> int: - """Perform shell completion for the given CLI program. - - :param cli: Command being called. - :param ctx_args: Extra arguments to pass to - ``cli.make_context``. - :param prog_name: Name of the executable in the shell. - :param complete_var: Name of the environment variable that holds - the completion instruction. - :param instruction: Value of ``complete_var`` with the completion - instruction and shell, in the form ``instruction_shell``. - :return: Status code to exit with. - """ - shell, _, instruction = instruction.partition("_") - comp_cls = get_completion_class(shell) - - if comp_cls is None: - return 1 - - comp = comp_cls(cli, ctx_args, prog_name, complete_var) - - if instruction == "source": - echo(comp.source()) - return 0 - - if instruction == "complete": - echo(comp.complete()) - return 0 - - return 1 - - -class CompletionItem: - """Represents a completion value and metadata about the value. The - default metadata is ``type`` to indicate special shell handling, - and ``help`` if a shell supports showing a help string next to the - value. - - Arbitrary parameters can be passed when creating the object, and - accessed using ``item.attr``. If an attribute wasn't passed, - accessing it returns ``None``. - - :param value: The completion suggestion. - :param type: Tells the shell script to provide special completion - support for the type. Click uses ``"dir"`` and ``"file"``. - :param help: String shown next to the value if supported. - :param kwargs: Arbitrary metadata. The built-in implementations - don't use this, but custom type completions paired with custom - shell support could use it. - """ - - __slots__ = ("value", "type", "help", "_info") - - def __init__( - self, - value: t.Any, - type: str = "plain", - help: t.Optional[str] = None, - **kwargs: t.Any, - ) -> None: - self.value: t.Any = value - self.type: str = type - self.help: t.Optional[str] = help - self._info = kwargs - - def __getattr__(self, name: str) -> t.Any: - return self._info.get(name) - - -# Only Bash >= 4.4 has the nosort option. -_SOURCE_BASH = """\ -%(complete_func)s() { - local IFS=$'\\n' - local response - - response=$(env COMP_WORDS="${COMP_WORDS[*]}" COMP_CWORD=$COMP_CWORD \ -%(complete_var)s=bash_complete $1) - - for completion in $response; do - IFS=',' read type value <<< "$completion" - - if [[ $type == 'dir' ]]; then - COMPREPLY=() - compopt -o dirnames - elif [[ $type == 'file' ]]; then - COMPREPLY=() - compopt -o default - elif [[ $type == 'plain' ]]; then - COMPREPLY+=($value) - fi - done - - return 0 -} - -%(complete_func)s_setup() { - complete -o nosort -F %(complete_func)s %(prog_name)s -} - -%(complete_func)s_setup; -""" - -_SOURCE_ZSH = """\ -#compdef %(prog_name)s - -%(complete_func)s() { - local -a completions - local -a completions_with_descriptions - local -a response - (( ! $+commands[%(prog_name)s] )) && return 1 - - response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) \ -%(complete_var)s=zsh_complete %(prog_name)s)}") - - for type key descr in ${response}; do - if [[ "$type" == "plain" ]]; then - if [[ "$descr" == "_" ]]; then - completions+=("$key") - else - completions_with_descriptions+=("$key":"$descr") - fi - elif [[ "$type" == "dir" ]]; then - _path_files -/ - elif [[ "$type" == "file" ]]; then - _path_files -f - fi - done - - if [ -n "$completions_with_descriptions" ]; then - _describe -V unsorted completions_with_descriptions -U - fi - - if [ -n "$completions" ]; then - compadd -U -V unsorted -a completions - fi -} - -if [[ $zsh_eval_context[-1] == loadautofunc ]]; then - # autoload from fpath, call function directly - %(complete_func)s "$@" -else - # eval/source/. command, register function for later - compdef %(complete_func)s %(prog_name)s -fi -""" - -_SOURCE_FISH = """\ -function %(complete_func)s; - set -l response (env %(complete_var)s=fish_complete COMP_WORDS=(commandline -cp) \ -COMP_CWORD=(commandline -t) %(prog_name)s); - - for completion in $response; - set -l metadata (string split "," $completion); - - if test $metadata[1] = "dir"; - __fish_complete_directories $metadata[2]; - else if test $metadata[1] = "file"; - __fish_complete_path $metadata[2]; - else if test $metadata[1] = "plain"; - echo $metadata[2]; - end; - end; -end; - -complete --no-files --command %(prog_name)s --arguments \ -"(%(complete_func)s)"; -""" - - -class ShellComplete: - """Base class for providing shell completion support. A subclass for - a given shell will override attributes and methods to implement the - completion instructions (``source`` and ``complete``). - - :param cli: Command being called. - :param prog_name: Name of the executable in the shell. - :param complete_var: Name of the environment variable that holds - the completion instruction. - - .. versionadded:: 8.0 - """ - - name: t.ClassVar[str] - """Name to register the shell as with :func:`add_completion_class`. - This is used in completion instructions (``{name}_source`` and - ``{name}_complete``). - """ - - source_template: t.ClassVar[str] - """Completion script template formatted by :meth:`source`. This must - be provided by subclasses. - """ - - def __init__( - self, - cli: BaseCommand, - ctx_args: t.MutableMapping[str, t.Any], - prog_name: str, - complete_var: str, - ) -> None: - self.cli = cli - self.ctx_args = ctx_args - self.prog_name = prog_name - self.complete_var = complete_var - - @property - def func_name(self) -> str: - """The name of the shell function defined by the completion - script. - """ - safe_name = re.sub(r"\W*", "", self.prog_name.replace("-", "_"), flags=re.ASCII) - return f"_{safe_name}_completion" - - def source_vars(self) -> t.Dict[str, t.Any]: - """Vars for formatting :attr:`source_template`. - - By default this provides ``complete_func``, ``complete_var``, - and ``prog_name``. - """ - return { - "complete_func": self.func_name, - "complete_var": self.complete_var, - "prog_name": self.prog_name, - } - - def source(self) -> str: - """Produce the shell script that defines the completion - function. By default this ``%``-style formats - :attr:`source_template` with the dict returned by - :meth:`source_vars`. - """ - return self.source_template % self.source_vars() - - def get_completion_args(self) -> t.Tuple[t.List[str], str]: - """Use the env vars defined by the shell script to return a - tuple of ``args, incomplete``. This must be implemented by - subclasses. - """ - raise NotImplementedError - - def get_completions( - self, args: t.List[str], incomplete: str - ) -> t.List[CompletionItem]: - """Determine the context and last complete command or parameter - from the complete args. Call that object's ``shell_complete`` - method to get the completions for the incomplete value. - - :param args: List of complete args before the incomplete value. - :param incomplete: Value being completed. May be empty. - """ - ctx = _resolve_context(self.cli, self.ctx_args, self.prog_name, args) - obj, incomplete = _resolve_incomplete(ctx, args, incomplete) - return obj.shell_complete(ctx, incomplete) - - def format_completion(self, item: CompletionItem) -> str: - """Format a completion item into the form recognized by the - shell script. This must be implemented by subclasses. - - :param item: Completion item to format. - """ - raise NotImplementedError - - def complete(self) -> str: - """Produce the completion data to send back to the shell. - - By default this calls :meth:`get_completion_args`, gets the - completions, then calls :meth:`format_completion` for each - completion. - """ - args, incomplete = self.get_completion_args() - completions = self.get_completions(args, incomplete) - out = [self.format_completion(item) for item in completions] - return "\n".join(out) - - -class BashComplete(ShellComplete): - """Shell completion for Bash.""" - - name = "bash" - source_template = _SOURCE_BASH - - @staticmethod - def _check_version() -> None: - import subprocess - - output = subprocess.run( - ["bash", "-c", 'echo "${BASH_VERSION}"'], stdout=subprocess.PIPE - ) - match = re.search(r"^(\d+)\.(\d+)\.\d+", output.stdout.decode()) - - if match is not None: - major, minor = match.groups() - - if major < "4" or major == "4" and minor < "4": - echo( - _( - "Shell completion is not supported for Bash" - " versions older than 4.4." - ), - err=True, - ) - else: - echo( - _("Couldn't detect Bash version, shell completion is not supported."), - err=True, - ) - - def source(self) -> str: - self._check_version() - return super().source() - - def get_completion_args(self) -> t.Tuple[t.List[str], str]: - cwords = split_arg_string(os.environ["COMP_WORDS"]) - cword = int(os.environ["COMP_CWORD"]) - args = cwords[1:cword] - - try: - incomplete = cwords[cword] - except IndexError: - incomplete = "" - - return args, incomplete - - def format_completion(self, item: CompletionItem) -> str: - return f"{item.type},{item.value}" - - -class ZshComplete(ShellComplete): - """Shell completion for Zsh.""" - - name = "zsh" - source_template = _SOURCE_ZSH - - def get_completion_args(self) -> t.Tuple[t.List[str], str]: - cwords = split_arg_string(os.environ["COMP_WORDS"]) - cword = int(os.environ["COMP_CWORD"]) - args = cwords[1:cword] - - try: - incomplete = cwords[cword] - except IndexError: - incomplete = "" - - return args, incomplete - - def format_completion(self, item: CompletionItem) -> str: - return f"{item.type}\n{item.value}\n{item.help if item.help else '_'}" - - -class FishComplete(ShellComplete): - """Shell completion for Fish.""" - - name = "fish" - source_template = _SOURCE_FISH - - def get_completion_args(self) -> t.Tuple[t.List[str], str]: - cwords = split_arg_string(os.environ["COMP_WORDS"]) - incomplete = os.environ["COMP_CWORD"] - args = cwords[1:] - - # Fish stores the partial word in both COMP_WORDS and - # COMP_CWORD, remove it from complete args. - if incomplete and args and args[-1] == incomplete: - args.pop() - - return args, incomplete - - def format_completion(self, item: CompletionItem) -> str: - if item.help: - return f"{item.type},{item.value}\t{item.help}" - - return f"{item.type},{item.value}" - - -ShellCompleteType = t.TypeVar("ShellCompleteType", bound=t.Type[ShellComplete]) - - -_available_shells: t.Dict[str, t.Type[ShellComplete]] = { - "bash": BashComplete, - "fish": FishComplete, - "zsh": ZshComplete, -} - - -def add_completion_class( - cls: ShellCompleteType, name: t.Optional[str] = None -) -> ShellCompleteType: - """Register a :class:`ShellComplete` subclass under the given name. - The name will be provided by the completion instruction environment - variable during completion. - - :param cls: The completion class that will handle completion for the - shell. - :param name: Name to register the class under. Defaults to the - class's ``name`` attribute. - """ - if name is None: - name = cls.name - - _available_shells[name] = cls - - return cls - - -def get_completion_class(shell: str) -> t.Optional[t.Type[ShellComplete]]: - """Look up a registered :class:`ShellComplete` subclass by the name - provided by the completion instruction environment variable. If the - name isn't registered, returns ``None``. - - :param shell: Name the class is registered under. - """ - return _available_shells.get(shell) - - -def _is_incomplete_argument(ctx: Context, param: Parameter) -> bool: - """Determine if the given parameter is an argument that can still - accept values. - - :param ctx: Invocation context for the command represented by the - parsed complete args. - :param param: Argument object being checked. - """ - if not isinstance(param, Argument): - return False - - assert param.name is not None - # Will be None if expose_value is False. - value = ctx.params.get(param.name) - return ( - param.nargs == -1 - or ctx.get_parameter_source(param.name) is not ParameterSource.COMMANDLINE - or ( - param.nargs > 1 - and isinstance(value, (tuple, list)) - and len(value) < param.nargs - ) - ) - - -def _start_of_option(ctx: Context, value: str) -> bool: - """Check if the value looks like the start of an option.""" - if not value: - return False - - c = value[0] - return c in ctx._opt_prefixes - - -def _is_incomplete_option(ctx: Context, args: t.List[str], param: Parameter) -> bool: - """Determine if the given parameter is an option that needs a value. - - :param args: List of complete args before the incomplete value. - :param param: Option object being checked. - """ - if not isinstance(param, Option): - return False - - if param.is_flag or param.count: - return False - - last_option = None - - for index, arg in enumerate(reversed(args)): - if index + 1 > param.nargs: - break - - if _start_of_option(ctx, arg): - last_option = arg - - return last_option is not None and last_option in param.opts - - -def _resolve_context( - cli: BaseCommand, - ctx_args: t.MutableMapping[str, t.Any], - prog_name: str, - args: t.List[str], -) -> Context: - """Produce the context hierarchy starting with the command and - traversing the complete arguments. This only follows the commands, - it doesn't trigger input prompts or callbacks. - - :param cli: Command being called. - :param prog_name: Name of the executable in the shell. - :param args: List of complete args before the incomplete value. - """ - ctx_args["resilient_parsing"] = True - ctx = cli.make_context(prog_name, args.copy(), **ctx_args) - args = ctx.protected_args + ctx.args - - while args: - command = ctx.command - - if isinstance(command, MultiCommand): - if not command.chain: - name, cmd, args = command.resolve_command(ctx, args) - - if cmd is None: - return ctx - - ctx = cmd.make_context(name, args, parent=ctx, resilient_parsing=True) - args = ctx.protected_args + ctx.args - else: - sub_ctx = ctx - - while args: - name, cmd, args = command.resolve_command(ctx, args) - - if cmd is None: - return ctx - - sub_ctx = cmd.make_context( - name, - args, - parent=ctx, - allow_extra_args=True, - allow_interspersed_args=False, - resilient_parsing=True, - ) - args = sub_ctx.args - - ctx = sub_ctx - args = [*sub_ctx.protected_args, *sub_ctx.args] - else: - break - - return ctx - - -def _resolve_incomplete( - ctx: Context, args: t.List[str], incomplete: str -) -> t.Tuple[t.Union[BaseCommand, Parameter], str]: - """Find the Click object that will handle the completion of the - incomplete value. Return the object and the incomplete value. - - :param ctx: Invocation context for the command represented by - the parsed complete args. - :param args: List of complete args before the incomplete value. - :param incomplete: Value being completed. May be empty. - """ - # Different shells treat an "=" between a long option name and - # value differently. Might keep the value joined, return the "=" - # as a separate item, or return the split name and value. Always - # split and discard the "=" to make completion easier. - if incomplete == "=": - incomplete = "" - elif "=" in incomplete and _start_of_option(ctx, incomplete): - name, _, incomplete = incomplete.partition("=") - args.append(name) - - # The "--" marker tells Click to stop treating values as options - # even if they start with the option character. If it hasn't been - # given and the incomplete arg looks like an option, the current - # command will provide option name completions. - if "--" not in args and _start_of_option(ctx, incomplete): - return ctx.command, incomplete - - params = ctx.command.get_params(ctx) - - # If the last complete arg is an option name with an incomplete - # value, the option will provide value completions. - for param in params: - if _is_incomplete_option(ctx, args, param): - return param, incomplete - - # It's not an option name or value. The first argument without a - # parsed value will provide value completions. - for param in params: - if _is_incomplete_argument(ctx, param): - return param, incomplete - - # There were no unparsed arguments, the command may be a group that - # will provide command name completions. - return ctx.command, incomplete diff --git a/venv/lib/python3.11/site-packages/click/termui.py b/venv/lib/python3.11/site-packages/click/termui.py deleted file mode 100644 index db7a4b2..0000000 --- a/venv/lib/python3.11/site-packages/click/termui.py +++ /dev/null @@ -1,784 +0,0 @@ -import inspect -import io -import itertools -import sys -import typing as t -from gettext import gettext as _ - -from ._compat import isatty -from ._compat import strip_ansi -from .exceptions import Abort -from .exceptions import UsageError -from .globals import resolve_color_default -from .types import Choice -from .types import convert_type -from .types import ParamType -from .utils import echo -from .utils import LazyFile - -if t.TYPE_CHECKING: - from ._termui_impl import ProgressBar - -V = t.TypeVar("V") - -# The prompt functions to use. The doc tools currently override these -# functions to customize how they work. -visible_prompt_func: t.Callable[[str], str] = input - -_ansi_colors = { - "black": 30, - "red": 31, - "green": 32, - "yellow": 33, - "blue": 34, - "magenta": 35, - "cyan": 36, - "white": 37, - "reset": 39, - "bright_black": 90, - "bright_red": 91, - "bright_green": 92, - "bright_yellow": 93, - "bright_blue": 94, - "bright_magenta": 95, - "bright_cyan": 96, - "bright_white": 97, -} -_ansi_reset_all = "\033[0m" - - -def hidden_prompt_func(prompt: str) -> str: - import getpass - - return getpass.getpass(prompt) - - -def _build_prompt( - text: str, - suffix: str, - show_default: bool = False, - default: t.Optional[t.Any] = None, - show_choices: bool = True, - type: t.Optional[ParamType] = None, -) -> str: - prompt = text - if type is not None and show_choices and isinstance(type, Choice): - prompt += f" ({', '.join(map(str, type.choices))})" - if default is not None and show_default: - prompt = f"{prompt} [{_format_default(default)}]" - return f"{prompt}{suffix}" - - -def _format_default(default: t.Any) -> t.Any: - if isinstance(default, (io.IOBase, LazyFile)) and hasattr(default, "name"): - return default.name - - return default - - -def prompt( - text: str, - default: t.Optional[t.Any] = None, - hide_input: bool = False, - confirmation_prompt: t.Union[bool, str] = False, - type: t.Optional[t.Union[ParamType, t.Any]] = None, - value_proc: t.Optional[t.Callable[[str], t.Any]] = None, - prompt_suffix: str = ": ", - show_default: bool = True, - err: bool = False, - show_choices: bool = True, -) -> t.Any: - """Prompts a user for input. This is a convenience function that can - be used to prompt a user for input later. - - If the user aborts the input by sending an interrupt signal, this - function will catch it and raise a :exc:`Abort` exception. - - :param text: the text to show for the prompt. - :param default: the default value to use if no input happens. If this - is not given it will prompt until it's aborted. - :param hide_input: if this is set to true then the input value will - be hidden. - :param confirmation_prompt: Prompt a second time to confirm the - value. Can be set to a string instead of ``True`` to customize - the message. - :param type: the type to use to check the value against. - :param value_proc: if this parameter is provided it's a function that - is invoked instead of the type conversion to - convert a value. - :param prompt_suffix: a suffix that should be added to the prompt. - :param show_default: shows or hides the default value in the prompt. - :param err: if set to true the file defaults to ``stderr`` instead of - ``stdout``, the same as with echo. - :param show_choices: Show or hide choices if the passed type is a Choice. - For example if type is a Choice of either day or week, - show_choices is true and text is "Group by" then the - prompt will be "Group by (day, week): ". - - .. versionadded:: 8.0 - ``confirmation_prompt`` can be a custom string. - - .. versionadded:: 7.0 - Added the ``show_choices`` parameter. - - .. versionadded:: 6.0 - Added unicode support for cmd.exe on Windows. - - .. versionadded:: 4.0 - Added the `err` parameter. - - """ - - def prompt_func(text: str) -> str: - f = hidden_prompt_func if hide_input else visible_prompt_func - try: - # Write the prompt separately so that we get nice - # coloring through colorama on Windows - echo(text.rstrip(" "), nl=False, err=err) - # Echo a space to stdout to work around an issue where - # readline causes backspace to clear the whole line. - return f(" ") - except (KeyboardInterrupt, EOFError): - # getpass doesn't print a newline if the user aborts input with ^C. - # Allegedly this behavior is inherited from getpass(3). - # A doc bug has been filed at https://bugs.python.org/issue24711 - if hide_input: - echo(None, err=err) - raise Abort() from None - - if value_proc is None: - value_proc = convert_type(type, default) - - prompt = _build_prompt( - text, prompt_suffix, show_default, default, show_choices, type - ) - - if confirmation_prompt: - if confirmation_prompt is True: - confirmation_prompt = _("Repeat for confirmation") - - confirmation_prompt = _build_prompt(confirmation_prompt, prompt_suffix) - - while True: - while True: - value = prompt_func(prompt) - if value: - break - elif default is not None: - value = default - break - try: - result = value_proc(value) - except UsageError as e: - if hide_input: - echo(_("Error: The value you entered was invalid."), err=err) - else: - echo(_("Error: {e.message}").format(e=e), err=err) # noqa: B306 - continue - if not confirmation_prompt: - return result - while True: - value2 = prompt_func(confirmation_prompt) - is_empty = not value and not value2 - if value2 or is_empty: - break - if value == value2: - return result - echo(_("Error: The two entered values do not match."), err=err) - - -def confirm( - text: str, - default: t.Optional[bool] = False, - abort: bool = False, - prompt_suffix: str = ": ", - show_default: bool = True, - err: bool = False, -) -> bool: - """Prompts for confirmation (yes/no question). - - If the user aborts the input by sending a interrupt signal this - function will catch it and raise a :exc:`Abort` exception. - - :param text: the question to ask. - :param default: The default value to use when no input is given. If - ``None``, repeat until input is given. - :param abort: if this is set to `True` a negative answer aborts the - exception by raising :exc:`Abort`. - :param prompt_suffix: a suffix that should be added to the prompt. - :param show_default: shows or hides the default value in the prompt. - :param err: if set to true the file defaults to ``stderr`` instead of - ``stdout``, the same as with echo. - - .. versionchanged:: 8.0 - Repeat until input is given if ``default`` is ``None``. - - .. versionadded:: 4.0 - Added the ``err`` parameter. - """ - prompt = _build_prompt( - text, - prompt_suffix, - show_default, - "y/n" if default is None else ("Y/n" if default else "y/N"), - ) - - while True: - try: - # Write the prompt separately so that we get nice - # coloring through colorama on Windows - echo(prompt.rstrip(" "), nl=False, err=err) - # Echo a space to stdout to work around an issue where - # readline causes backspace to clear the whole line. - value = visible_prompt_func(" ").lower().strip() - except (KeyboardInterrupt, EOFError): - raise Abort() from None - if value in ("y", "yes"): - rv = True - elif value in ("n", "no"): - rv = False - elif default is not None and value == "": - rv = default - else: - echo(_("Error: invalid input"), err=err) - continue - break - if abort and not rv: - raise Abort() - return rv - - -def echo_via_pager( - text_or_generator: t.Union[t.Iterable[str], t.Callable[[], t.Iterable[str]], str], - color: t.Optional[bool] = None, -) -> None: - """This function takes a text and shows it via an environment specific - pager on stdout. - - .. versionchanged:: 3.0 - Added the `color` flag. - - :param text_or_generator: the text to page, or alternatively, a - generator emitting the text to page. - :param color: controls if the pager supports ANSI colors or not. The - default is autodetection. - """ - color = resolve_color_default(color) - - if inspect.isgeneratorfunction(text_or_generator): - i = t.cast(t.Callable[[], t.Iterable[str]], text_or_generator)() - elif isinstance(text_or_generator, str): - i = [text_or_generator] - else: - i = iter(t.cast(t.Iterable[str], text_or_generator)) - - # convert every element of i to a text type if necessary - text_generator = (el if isinstance(el, str) else str(el) for el in i) - - from ._termui_impl import pager - - return pager(itertools.chain(text_generator, "\n"), color) - - -def progressbar( - iterable: t.Optional[t.Iterable[V]] = None, - length: t.Optional[int] = None, - label: t.Optional[str] = None, - show_eta: bool = True, - show_percent: t.Optional[bool] = None, - show_pos: bool = False, - item_show_func: t.Optional[t.Callable[[t.Optional[V]], t.Optional[str]]] = None, - fill_char: str = "#", - empty_char: str = "-", - bar_template: str = "%(label)s [%(bar)s] %(info)s", - info_sep: str = " ", - width: int = 36, - file: t.Optional[t.TextIO] = None, - color: t.Optional[bool] = None, - update_min_steps: int = 1, -) -> "ProgressBar[V]": - """This function creates an iterable context manager that can be used - to iterate over something while showing a progress bar. It will - either iterate over the `iterable` or `length` items (that are counted - up). While iteration happens, this function will print a rendered - progress bar to the given `file` (defaults to stdout) and will attempt - to calculate remaining time and more. By default, this progress bar - will not be rendered if the file is not a terminal. - - The context manager creates the progress bar. When the context - manager is entered the progress bar is already created. With every - iteration over the progress bar, the iterable passed to the bar is - advanced and the bar is updated. When the context manager exits, - a newline is printed and the progress bar is finalized on screen. - - Note: The progress bar is currently designed for use cases where the - total progress can be expected to take at least several seconds. - Because of this, the ProgressBar class object won't display - progress that is considered too fast, and progress where the time - between steps is less than a second. - - No printing must happen or the progress bar will be unintentionally - destroyed. - - Example usage:: - - with progressbar(items) as bar: - for item in bar: - do_something_with(item) - - Alternatively, if no iterable is specified, one can manually update the - progress bar through the `update()` method instead of directly - iterating over the progress bar. The update method accepts the number - of steps to increment the bar with:: - - with progressbar(length=chunks.total_bytes) as bar: - for chunk in chunks: - process_chunk(chunk) - bar.update(chunks.bytes) - - The ``update()`` method also takes an optional value specifying the - ``current_item`` at the new position. This is useful when used - together with ``item_show_func`` to customize the output for each - manual step:: - - with click.progressbar( - length=total_size, - label='Unzipping archive', - item_show_func=lambda a: a.filename - ) as bar: - for archive in zip_file: - archive.extract() - bar.update(archive.size, archive) - - :param iterable: an iterable to iterate over. If not provided the length - is required. - :param length: the number of items to iterate over. By default the - progressbar will attempt to ask the iterator about its - length, which might or might not work. If an iterable is - also provided this parameter can be used to override the - length. If an iterable is not provided the progress bar - will iterate over a range of that length. - :param label: the label to show next to the progress bar. - :param show_eta: enables or disables the estimated time display. This is - automatically disabled if the length cannot be - determined. - :param show_percent: enables or disables the percentage display. The - default is `True` if the iterable has a length or - `False` if not. - :param show_pos: enables or disables the absolute position display. The - default is `False`. - :param item_show_func: A function called with the current item which - can return a string to show next to the progress bar. If the - function returns ``None`` nothing is shown. The current item can - be ``None``, such as when entering and exiting the bar. - :param fill_char: the character to use to show the filled part of the - progress bar. - :param empty_char: the character to use to show the non-filled part of - the progress bar. - :param bar_template: the format string to use as template for the bar. - The parameters in it are ``label`` for the label, - ``bar`` for the progress bar and ``info`` for the - info section. - :param info_sep: the separator between multiple info items (eta etc.) - :param width: the width of the progress bar in characters, 0 means full - terminal width - :param file: The file to write to. If this is not a terminal then - only the label is printed. - :param color: controls if the terminal supports ANSI colors or not. The - default is autodetection. This is only needed if ANSI - codes are included anywhere in the progress bar output - which is not the case by default. - :param update_min_steps: Render only when this many updates have - completed. This allows tuning for very fast iterators. - - .. versionchanged:: 8.0 - Output is shown even if execution time is less than 0.5 seconds. - - .. versionchanged:: 8.0 - ``item_show_func`` shows the current item, not the previous one. - - .. versionchanged:: 8.0 - Labels are echoed if the output is not a TTY. Reverts a change - in 7.0 that removed all output. - - .. versionadded:: 8.0 - Added the ``update_min_steps`` parameter. - - .. versionchanged:: 4.0 - Added the ``color`` parameter. Added the ``update`` method to - the object. - - .. versionadded:: 2.0 - """ - from ._termui_impl import ProgressBar - - color = resolve_color_default(color) - return ProgressBar( - iterable=iterable, - length=length, - show_eta=show_eta, - show_percent=show_percent, - show_pos=show_pos, - item_show_func=item_show_func, - fill_char=fill_char, - empty_char=empty_char, - bar_template=bar_template, - info_sep=info_sep, - file=file, - label=label, - width=width, - color=color, - update_min_steps=update_min_steps, - ) - - -def clear() -> None: - """Clears the terminal screen. This will have the effect of clearing - the whole visible space of the terminal and moving the cursor to the - top left. This does not do anything if not connected to a terminal. - - .. versionadded:: 2.0 - """ - if not isatty(sys.stdout): - return - - # ANSI escape \033[2J clears the screen, \033[1;1H moves the cursor - echo("\033[2J\033[1;1H", nl=False) - - -def _interpret_color( - color: t.Union[int, t.Tuple[int, int, int], str], offset: int = 0 -) -> str: - if isinstance(color, int): - return f"{38 + offset};5;{color:d}" - - if isinstance(color, (tuple, list)): - r, g, b = color - return f"{38 + offset};2;{r:d};{g:d};{b:d}" - - return str(_ansi_colors[color] + offset) - - -def style( - text: t.Any, - fg: t.Optional[t.Union[int, t.Tuple[int, int, int], str]] = None, - bg: t.Optional[t.Union[int, t.Tuple[int, int, int], str]] = None, - bold: t.Optional[bool] = None, - dim: t.Optional[bool] = None, - underline: t.Optional[bool] = None, - overline: t.Optional[bool] = None, - italic: t.Optional[bool] = None, - blink: t.Optional[bool] = None, - reverse: t.Optional[bool] = None, - strikethrough: t.Optional[bool] = None, - reset: bool = True, -) -> str: - """Styles a text with ANSI styles and returns the new string. By - default the styling is self contained which means that at the end - of the string a reset code is issued. This can be prevented by - passing ``reset=False``. - - Examples:: - - click.echo(click.style('Hello World!', fg='green')) - click.echo(click.style('ATTENTION!', blink=True)) - click.echo(click.style('Some things', reverse=True, fg='cyan')) - click.echo(click.style('More colors', fg=(255, 12, 128), bg=117)) - - Supported color names: - - * ``black`` (might be a gray) - * ``red`` - * ``green`` - * ``yellow`` (might be an orange) - * ``blue`` - * ``magenta`` - * ``cyan`` - * ``white`` (might be light gray) - * ``bright_black`` - * ``bright_red`` - * ``bright_green`` - * ``bright_yellow`` - * ``bright_blue`` - * ``bright_magenta`` - * ``bright_cyan`` - * ``bright_white`` - * ``reset`` (reset the color code only) - - If the terminal supports it, color may also be specified as: - - - An integer in the interval [0, 255]. The terminal must support - 8-bit/256-color mode. - - An RGB tuple of three integers in [0, 255]. The terminal must - support 24-bit/true-color mode. - - See https://en.wikipedia.org/wiki/ANSI_color and - https://gist.github.com/XVilka/8346728 for more information. - - :param text: the string to style with ansi codes. - :param fg: if provided this will become the foreground color. - :param bg: if provided this will become the background color. - :param bold: if provided this will enable or disable bold mode. - :param dim: if provided this will enable or disable dim mode. This is - badly supported. - :param underline: if provided this will enable or disable underline. - :param overline: if provided this will enable or disable overline. - :param italic: if provided this will enable or disable italic. - :param blink: if provided this will enable or disable blinking. - :param reverse: if provided this will enable or disable inverse - rendering (foreground becomes background and the - other way round). - :param strikethrough: if provided this will enable or disable - striking through text. - :param reset: by default a reset-all code is added at the end of the - string which means that styles do not carry over. This - can be disabled to compose styles. - - .. versionchanged:: 8.0 - A non-string ``message`` is converted to a string. - - .. versionchanged:: 8.0 - Added support for 256 and RGB color codes. - - .. versionchanged:: 8.0 - Added the ``strikethrough``, ``italic``, and ``overline`` - parameters. - - .. versionchanged:: 7.0 - Added support for bright colors. - - .. versionadded:: 2.0 - """ - if not isinstance(text, str): - text = str(text) - - bits = [] - - if fg: - try: - bits.append(f"\033[{_interpret_color(fg)}m") - except KeyError: - raise TypeError(f"Unknown color {fg!r}") from None - - if bg: - try: - bits.append(f"\033[{_interpret_color(bg, 10)}m") - except KeyError: - raise TypeError(f"Unknown color {bg!r}") from None - - if bold is not None: - bits.append(f"\033[{1 if bold else 22}m") - if dim is not None: - bits.append(f"\033[{2 if dim else 22}m") - if underline is not None: - bits.append(f"\033[{4 if underline else 24}m") - if overline is not None: - bits.append(f"\033[{53 if overline else 55}m") - if italic is not None: - bits.append(f"\033[{3 if italic else 23}m") - if blink is not None: - bits.append(f"\033[{5 if blink else 25}m") - if reverse is not None: - bits.append(f"\033[{7 if reverse else 27}m") - if strikethrough is not None: - bits.append(f"\033[{9 if strikethrough else 29}m") - bits.append(text) - if reset: - bits.append(_ansi_reset_all) - return "".join(bits) - - -def unstyle(text: str) -> str: - """Removes ANSI styling information from a string. Usually it's not - necessary to use this function as Click's echo function will - automatically remove styling if necessary. - - .. versionadded:: 2.0 - - :param text: the text to remove style information from. - """ - return strip_ansi(text) - - -def secho( - message: t.Optional[t.Any] = None, - file: t.Optional[t.IO[t.AnyStr]] = None, - nl: bool = True, - err: bool = False, - color: t.Optional[bool] = None, - **styles: t.Any, -) -> None: - """This function combines :func:`echo` and :func:`style` into one - call. As such the following two calls are the same:: - - click.secho('Hello World!', fg='green') - click.echo(click.style('Hello World!', fg='green')) - - All keyword arguments are forwarded to the underlying functions - depending on which one they go with. - - Non-string types will be converted to :class:`str`. However, - :class:`bytes` are passed directly to :meth:`echo` without applying - style. If you want to style bytes that represent text, call - :meth:`bytes.decode` first. - - .. versionchanged:: 8.0 - A non-string ``message`` is converted to a string. Bytes are - passed through without style applied. - - .. versionadded:: 2.0 - """ - if message is not None and not isinstance(message, (bytes, bytearray)): - message = style(message, **styles) - - return echo(message, file=file, nl=nl, err=err, color=color) - - -def edit( - text: t.Optional[t.AnyStr] = None, - editor: t.Optional[str] = None, - env: t.Optional[t.Mapping[str, str]] = None, - require_save: bool = True, - extension: str = ".txt", - filename: t.Optional[str] = None, -) -> t.Optional[t.AnyStr]: - r"""Edits the given text in the defined editor. If an editor is given - (should be the full path to the executable but the regular operating - system search path is used for finding the executable) it overrides - the detected editor. Optionally, some environment variables can be - used. If the editor is closed without changes, `None` is returned. In - case a file is edited directly the return value is always `None` and - `require_save` and `extension` are ignored. - - If the editor cannot be opened a :exc:`UsageError` is raised. - - Note for Windows: to simplify cross-platform usage, the newlines are - automatically converted from POSIX to Windows and vice versa. As such, - the message here will have ``\n`` as newline markers. - - :param text: the text to edit. - :param editor: optionally the editor to use. Defaults to automatic - detection. - :param env: environment variables to forward to the editor. - :param require_save: if this is true, then not saving in the editor - will make the return value become `None`. - :param extension: the extension to tell the editor about. This defaults - to `.txt` but changing this might change syntax - highlighting. - :param filename: if provided it will edit this file instead of the - provided text contents. It will not use a temporary - file as an indirection in that case. - """ - from ._termui_impl import Editor - - ed = Editor(editor=editor, env=env, require_save=require_save, extension=extension) - - if filename is None: - return ed.edit(text) - - ed.edit_file(filename) - return None - - -def launch(url: str, wait: bool = False, locate: bool = False) -> int: - """This function launches the given URL (or filename) in the default - viewer application for this file type. If this is an executable, it - might launch the executable in a new session. The return value is - the exit code of the launched application. Usually, ``0`` indicates - success. - - Examples:: - - click.launch('https://click.palletsprojects.com/') - click.launch('/my/downloaded/file', locate=True) - - .. versionadded:: 2.0 - - :param url: URL or filename of the thing to launch. - :param wait: Wait for the program to exit before returning. This - only works if the launched program blocks. In particular, - ``xdg-open`` on Linux does not block. - :param locate: if this is set to `True` then instead of launching the - application associated with the URL it will attempt to - launch a file manager with the file located. This - might have weird effects if the URL does not point to - the filesystem. - """ - from ._termui_impl import open_url - - return open_url(url, wait=wait, locate=locate) - - -# If this is provided, getchar() calls into this instead. This is used -# for unittesting purposes. -_getchar: t.Optional[t.Callable[[bool], str]] = None - - -def getchar(echo: bool = False) -> str: - """Fetches a single character from the terminal and returns it. This - will always return a unicode character and under certain rare - circumstances this might return more than one character. The - situations which more than one character is returned is when for - whatever reason multiple characters end up in the terminal buffer or - standard input was not actually a terminal. - - Note that this will always read from the terminal, even if something - is piped into the standard input. - - Note for Windows: in rare cases when typing non-ASCII characters, this - function might wait for a second character and then return both at once. - This is because certain Unicode characters look like special-key markers. - - .. versionadded:: 2.0 - - :param echo: if set to `True`, the character read will also show up on - the terminal. The default is to not show it. - """ - global _getchar - - if _getchar is None: - from ._termui_impl import getchar as f - - _getchar = f - - return _getchar(echo) - - -def raw_terminal() -> t.ContextManager[int]: - from ._termui_impl import raw_terminal as f - - return f() - - -def pause(info: t.Optional[str] = None, err: bool = False) -> None: - """This command stops execution and waits for the user to press any - key to continue. This is similar to the Windows batch "pause" - command. If the program is not run through a terminal, this command - will instead do nothing. - - .. versionadded:: 2.0 - - .. versionadded:: 4.0 - Added the `err` parameter. - - :param info: The message to print before pausing. Defaults to - ``"Press any key to continue..."``. - :param err: if set to message goes to ``stderr`` instead of - ``stdout``, the same as with echo. - """ - if not isatty(sys.stdin) or not isatty(sys.stdout): - return - - if info is None: - info = _("Press any key to continue...") - - try: - if info: - echo(info, nl=False, err=err) - try: - getchar() - except (KeyboardInterrupt, EOFError): - pass - finally: - if info: - echo(err=err) diff --git a/venv/lib/python3.11/site-packages/click/testing.py b/venv/lib/python3.11/site-packages/click/testing.py deleted file mode 100644 index e0df0d2..0000000 --- a/venv/lib/python3.11/site-packages/click/testing.py +++ /dev/null @@ -1,479 +0,0 @@ -import contextlib -import io -import os -import shlex -import shutil -import sys -import tempfile -import typing as t -from types import TracebackType - -from . import formatting -from . import termui -from . import utils -from ._compat import _find_binary_reader - -if t.TYPE_CHECKING: - from .core import BaseCommand - - -class EchoingStdin: - def __init__(self, input: t.BinaryIO, output: t.BinaryIO) -> None: - self._input = input - self._output = output - self._paused = False - - def __getattr__(self, x: str) -> t.Any: - return getattr(self._input, x) - - def _echo(self, rv: bytes) -> bytes: - if not self._paused: - self._output.write(rv) - - return rv - - def read(self, n: int = -1) -> bytes: - return self._echo(self._input.read(n)) - - def read1(self, n: int = -1) -> bytes: - return self._echo(self._input.read1(n)) # type: ignore - - def readline(self, n: int = -1) -> bytes: - return self._echo(self._input.readline(n)) - - def readlines(self) -> t.List[bytes]: - return [self._echo(x) for x in self._input.readlines()] - - def __iter__(self) -> t.Iterator[bytes]: - return iter(self._echo(x) for x in self._input) - - def __repr__(self) -> str: - return repr(self._input) - - -@contextlib.contextmanager -def _pause_echo(stream: t.Optional[EchoingStdin]) -> t.Iterator[None]: - if stream is None: - yield - else: - stream._paused = True - yield - stream._paused = False - - -class _NamedTextIOWrapper(io.TextIOWrapper): - def __init__( - self, buffer: t.BinaryIO, name: str, mode: str, **kwargs: t.Any - ) -> None: - super().__init__(buffer, **kwargs) - self._name = name - self._mode = mode - - @property - def name(self) -> str: - return self._name - - @property - def mode(self) -> str: - return self._mode - - -def make_input_stream( - input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]], charset: str -) -> t.BinaryIO: - # Is already an input stream. - if hasattr(input, "read"): - rv = _find_binary_reader(t.cast(t.IO[t.Any], input)) - - if rv is not None: - return rv - - raise TypeError("Could not find binary reader for input stream.") - - if input is None: - input = b"" - elif isinstance(input, str): - input = input.encode(charset) - - return io.BytesIO(input) - - -class Result: - """Holds the captured result of an invoked CLI script.""" - - def __init__( - self, - runner: "CliRunner", - stdout_bytes: bytes, - stderr_bytes: t.Optional[bytes], - return_value: t.Any, - exit_code: int, - exception: t.Optional[BaseException], - exc_info: t.Optional[ - t.Tuple[t.Type[BaseException], BaseException, TracebackType] - ] = None, - ): - #: The runner that created the result - self.runner = runner - #: The standard output as bytes. - self.stdout_bytes = stdout_bytes - #: The standard error as bytes, or None if not available - self.stderr_bytes = stderr_bytes - #: The value returned from the invoked command. - #: - #: .. versionadded:: 8.0 - self.return_value = return_value - #: The exit code as integer. - self.exit_code = exit_code - #: The exception that happened if one did. - self.exception = exception - #: The traceback - self.exc_info = exc_info - - @property - def output(self) -> str: - """The (standard) output as unicode string.""" - return self.stdout - - @property - def stdout(self) -> str: - """The standard output as unicode string.""" - return self.stdout_bytes.decode(self.runner.charset, "replace").replace( - "\r\n", "\n" - ) - - @property - def stderr(self) -> str: - """The standard error as unicode string.""" - if self.stderr_bytes is None: - raise ValueError("stderr not separately captured") - return self.stderr_bytes.decode(self.runner.charset, "replace").replace( - "\r\n", "\n" - ) - - def __repr__(self) -> str: - exc_str = repr(self.exception) if self.exception else "okay" - return f"<{type(self).__name__} {exc_str}>" - - -class CliRunner: - """The CLI runner provides functionality to invoke a Click command line - script for unittesting purposes in a isolated environment. This only - works in single-threaded systems without any concurrency as it changes the - global interpreter state. - - :param charset: the character set for the input and output data. - :param env: a dictionary with environment variables for overriding. - :param echo_stdin: if this is set to `True`, then reading from stdin writes - to stdout. This is useful for showing examples in - some circumstances. Note that regular prompts - will automatically echo the input. - :param mix_stderr: if this is set to `False`, then stdout and stderr are - preserved as independent streams. This is useful for - Unix-philosophy apps that have predictable stdout and - noisy stderr, such that each may be measured - independently - """ - - def __init__( - self, - charset: str = "utf-8", - env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, - echo_stdin: bool = False, - mix_stderr: bool = True, - ) -> None: - self.charset = charset - self.env: t.Mapping[str, t.Optional[str]] = env or {} - self.echo_stdin = echo_stdin - self.mix_stderr = mix_stderr - - def get_default_prog_name(self, cli: "BaseCommand") -> str: - """Given a command object it will return the default program name - for it. The default is the `name` attribute or ``"root"`` if not - set. - """ - return cli.name or "root" - - def make_env( - self, overrides: t.Optional[t.Mapping[str, t.Optional[str]]] = None - ) -> t.Mapping[str, t.Optional[str]]: - """Returns the environment overrides for invoking a script.""" - rv = dict(self.env) - if overrides: - rv.update(overrides) - return rv - - @contextlib.contextmanager - def isolation( - self, - input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]] = None, - env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, - color: bool = False, - ) -> t.Iterator[t.Tuple[io.BytesIO, t.Optional[io.BytesIO]]]: - """A context manager that sets up the isolation for invoking of a - command line tool. This sets up stdin with the given input data - and `os.environ` with the overrides from the given dictionary. - This also rebinds some internals in Click to be mocked (like the - prompt functionality). - - This is automatically done in the :meth:`invoke` method. - - :param input: the input stream to put into sys.stdin. - :param env: the environment overrides as dictionary. - :param color: whether the output should contain color codes. The - application can still override this explicitly. - - .. versionchanged:: 8.0 - ``stderr`` is opened with ``errors="backslashreplace"`` - instead of the default ``"strict"``. - - .. versionchanged:: 4.0 - Added the ``color`` parameter. - """ - bytes_input = make_input_stream(input, self.charset) - echo_input = None - - old_stdin = sys.stdin - old_stdout = sys.stdout - old_stderr = sys.stderr - old_forced_width = formatting.FORCED_WIDTH - formatting.FORCED_WIDTH = 80 - - env = self.make_env(env) - - bytes_output = io.BytesIO() - - if self.echo_stdin: - bytes_input = echo_input = t.cast( - t.BinaryIO, EchoingStdin(bytes_input, bytes_output) - ) - - sys.stdin = text_input = _NamedTextIOWrapper( - bytes_input, encoding=self.charset, name="", mode="r" - ) - - if self.echo_stdin: - # Force unbuffered reads, otherwise TextIOWrapper reads a - # large chunk which is echoed early. - text_input._CHUNK_SIZE = 1 # type: ignore - - sys.stdout = _NamedTextIOWrapper( - bytes_output, encoding=self.charset, name="", mode="w" - ) - - bytes_error = None - if self.mix_stderr: - sys.stderr = sys.stdout - else: - bytes_error = io.BytesIO() - sys.stderr = _NamedTextIOWrapper( - bytes_error, - encoding=self.charset, - name="", - mode="w", - errors="backslashreplace", - ) - - @_pause_echo(echo_input) # type: ignore - def visible_input(prompt: t.Optional[str] = None) -> str: - sys.stdout.write(prompt or "") - val = text_input.readline().rstrip("\r\n") - sys.stdout.write(f"{val}\n") - sys.stdout.flush() - return val - - @_pause_echo(echo_input) # type: ignore - def hidden_input(prompt: t.Optional[str] = None) -> str: - sys.stdout.write(f"{prompt or ''}\n") - sys.stdout.flush() - return text_input.readline().rstrip("\r\n") - - @_pause_echo(echo_input) # type: ignore - def _getchar(echo: bool) -> str: - char = sys.stdin.read(1) - - if echo: - sys.stdout.write(char) - - sys.stdout.flush() - return char - - default_color = color - - def should_strip_ansi( - stream: t.Optional[t.IO[t.Any]] = None, color: t.Optional[bool] = None - ) -> bool: - if color is None: - return not default_color - return not color - - old_visible_prompt_func = termui.visible_prompt_func - old_hidden_prompt_func = termui.hidden_prompt_func - old__getchar_func = termui._getchar - old_should_strip_ansi = utils.should_strip_ansi # type: ignore - termui.visible_prompt_func = visible_input - termui.hidden_prompt_func = hidden_input - termui._getchar = _getchar - utils.should_strip_ansi = should_strip_ansi # type: ignore - - old_env = {} - try: - for key, value in env.items(): - old_env[key] = os.environ.get(key) - if value is None: - try: - del os.environ[key] - except Exception: - pass - else: - os.environ[key] = value - yield (bytes_output, bytes_error) - finally: - for key, value in old_env.items(): - if value is None: - try: - del os.environ[key] - except Exception: - pass - else: - os.environ[key] = value - sys.stdout = old_stdout - sys.stderr = old_stderr - sys.stdin = old_stdin - termui.visible_prompt_func = old_visible_prompt_func - termui.hidden_prompt_func = old_hidden_prompt_func - termui._getchar = old__getchar_func - utils.should_strip_ansi = old_should_strip_ansi # type: ignore - formatting.FORCED_WIDTH = old_forced_width - - def invoke( - self, - cli: "BaseCommand", - args: t.Optional[t.Union[str, t.Sequence[str]]] = None, - input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]] = None, - env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, - catch_exceptions: bool = True, - color: bool = False, - **extra: t.Any, - ) -> Result: - """Invokes a command in an isolated environment. The arguments are - forwarded directly to the command line script, the `extra` keyword - arguments are passed to the :meth:`~clickpkg.Command.main` function of - the command. - - This returns a :class:`Result` object. - - :param cli: the command to invoke - :param args: the arguments to invoke. It may be given as an iterable - or a string. When given as string it will be interpreted - as a Unix shell command. More details at - :func:`shlex.split`. - :param input: the input data for `sys.stdin`. - :param env: the environment overrides. - :param catch_exceptions: Whether to catch any other exceptions than - ``SystemExit``. - :param extra: the keyword arguments to pass to :meth:`main`. - :param color: whether the output should contain color codes. The - application can still override this explicitly. - - .. versionchanged:: 8.0 - The result object has the ``return_value`` attribute with - the value returned from the invoked command. - - .. versionchanged:: 4.0 - Added the ``color`` parameter. - - .. versionchanged:: 3.0 - Added the ``catch_exceptions`` parameter. - - .. versionchanged:: 3.0 - The result object has the ``exc_info`` attribute with the - traceback if available. - """ - exc_info = None - with self.isolation(input=input, env=env, color=color) as outstreams: - return_value = None - exception: t.Optional[BaseException] = None - exit_code = 0 - - if isinstance(args, str): - args = shlex.split(args) - - try: - prog_name = extra.pop("prog_name") - except KeyError: - prog_name = self.get_default_prog_name(cli) - - try: - return_value = cli.main(args=args or (), prog_name=prog_name, **extra) - except SystemExit as e: - exc_info = sys.exc_info() - e_code = t.cast(t.Optional[t.Union[int, t.Any]], e.code) - - if e_code is None: - e_code = 0 - - if e_code != 0: - exception = e - - if not isinstance(e_code, int): - sys.stdout.write(str(e_code)) - sys.stdout.write("\n") - e_code = 1 - - exit_code = e_code - - except Exception as e: - if not catch_exceptions: - raise - exception = e - exit_code = 1 - exc_info = sys.exc_info() - finally: - sys.stdout.flush() - stdout = outstreams[0].getvalue() - if self.mix_stderr: - stderr = None - else: - stderr = outstreams[1].getvalue() # type: ignore - - return Result( - runner=self, - stdout_bytes=stdout, - stderr_bytes=stderr, - return_value=return_value, - exit_code=exit_code, - exception=exception, - exc_info=exc_info, # type: ignore - ) - - @contextlib.contextmanager - def isolated_filesystem( - self, temp_dir: t.Optional[t.Union[str, "os.PathLike[str]"]] = None - ) -> t.Iterator[str]: - """A context manager that creates a temporary directory and - changes the current working directory to it. This isolates tests - that affect the contents of the CWD to prevent them from - interfering with each other. - - :param temp_dir: Create the temporary directory under this - directory. If given, the created directory is not removed - when exiting. - - .. versionchanged:: 8.0 - Added the ``temp_dir`` parameter. - """ - cwd = os.getcwd() - dt = tempfile.mkdtemp(dir=temp_dir) - os.chdir(dt) - - try: - yield dt - finally: - os.chdir(cwd) - - if temp_dir is None: - try: - shutil.rmtree(dt) - except OSError: # noqa: B014 - pass diff --git a/venv/lib/python3.11/site-packages/click/types.py b/venv/lib/python3.11/site-packages/click/types.py deleted file mode 100644 index 2b1d179..0000000 --- a/venv/lib/python3.11/site-packages/click/types.py +++ /dev/null @@ -1,1089 +0,0 @@ -import os -import stat -import sys -import typing as t -from datetime import datetime -from gettext import gettext as _ -from gettext import ngettext - -from ._compat import _get_argv_encoding -from ._compat import open_stream -from .exceptions import BadParameter -from .utils import format_filename -from .utils import LazyFile -from .utils import safecall - -if t.TYPE_CHECKING: - import typing_extensions as te - from .core import Context - from .core import Parameter - from .shell_completion import CompletionItem - - -class ParamType: - """Represents the type of a parameter. Validates and converts values - from the command line or Python into the correct type. - - To implement a custom type, subclass and implement at least the - following: - - - The :attr:`name` class attribute must be set. - - Calling an instance of the type with ``None`` must return - ``None``. This is already implemented by default. - - :meth:`convert` must convert string values to the correct type. - - :meth:`convert` must accept values that are already the correct - type. - - It must be able to convert a value if the ``ctx`` and ``param`` - arguments are ``None``. This can occur when converting prompt - input. - """ - - is_composite: t.ClassVar[bool] = False - arity: t.ClassVar[int] = 1 - - #: the descriptive name of this type - name: str - - #: if a list of this type is expected and the value is pulled from a - #: string environment variable, this is what splits it up. `None` - #: means any whitespace. For all parameters the general rule is that - #: whitespace splits them up. The exception are paths and files which - #: are split by ``os.path.pathsep`` by default (":" on Unix and ";" on - #: Windows). - envvar_list_splitter: t.ClassVar[t.Optional[str]] = None - - def to_info_dict(self) -> t.Dict[str, t.Any]: - """Gather information that could be useful for a tool generating - user-facing documentation. - - Use :meth:`click.Context.to_info_dict` to traverse the entire - CLI structure. - - .. versionadded:: 8.0 - """ - # The class name without the "ParamType" suffix. - param_type = type(self).__name__.partition("ParamType")[0] - param_type = param_type.partition("ParameterType")[0] - - # Custom subclasses might not remember to set a name. - if hasattr(self, "name"): - name = self.name - else: - name = param_type - - return {"param_type": param_type, "name": name} - - def __call__( - self, - value: t.Any, - param: t.Optional["Parameter"] = None, - ctx: t.Optional["Context"] = None, - ) -> t.Any: - if value is not None: - return self.convert(value, param, ctx) - - def get_metavar(self, param: "Parameter") -> t.Optional[str]: - """Returns the metavar default for this param if it provides one.""" - - def get_missing_message(self, param: "Parameter") -> t.Optional[str]: - """Optionally might return extra information about a missing - parameter. - - .. versionadded:: 2.0 - """ - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - """Convert the value to the correct type. This is not called if - the value is ``None`` (the missing value). - - This must accept string values from the command line, as well as - values that are already the correct type. It may also convert - other compatible types. - - The ``param`` and ``ctx`` arguments may be ``None`` in certain - situations, such as when converting prompt input. - - If the value cannot be converted, call :meth:`fail` with a - descriptive message. - - :param value: The value to convert. - :param param: The parameter that is using this type to convert - its value. May be ``None``. - :param ctx: The current context that arrived at this value. May - be ``None``. - """ - return value - - def split_envvar_value(self, rv: str) -> t.Sequence[str]: - """Given a value from an environment variable this splits it up - into small chunks depending on the defined envvar list splitter. - - If the splitter is set to `None`, which means that whitespace splits, - then leading and trailing whitespace is ignored. Otherwise, leading - and trailing splitters usually lead to empty items being included. - """ - return (rv or "").split(self.envvar_list_splitter) - - def fail( - self, - message: str, - param: t.Optional["Parameter"] = None, - ctx: t.Optional["Context"] = None, - ) -> "t.NoReturn": - """Helper method to fail with an invalid value message.""" - raise BadParameter(message, ctx=ctx, param=param) - - def shell_complete( - self, ctx: "Context", param: "Parameter", incomplete: str - ) -> t.List["CompletionItem"]: - """Return a list of - :class:`~click.shell_completion.CompletionItem` objects for the - incomplete value. Most types do not provide completions, but - some do, and this allows custom types to provide custom - completions as well. - - :param ctx: Invocation context for this command. - :param param: The parameter that is requesting completion. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - return [] - - -class CompositeParamType(ParamType): - is_composite = True - - @property - def arity(self) -> int: # type: ignore - raise NotImplementedError() - - -class FuncParamType(ParamType): - def __init__(self, func: t.Callable[[t.Any], t.Any]) -> None: - self.name: str = func.__name__ - self.func = func - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict["func"] = self.func - return info_dict - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - try: - return self.func(value) - except ValueError: - try: - value = str(value) - except UnicodeError: - value = value.decode("utf-8", "replace") - - self.fail(value, param, ctx) - - -class UnprocessedParamType(ParamType): - name = "text" - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - return value - - def __repr__(self) -> str: - return "UNPROCESSED" - - -class StringParamType(ParamType): - name = "text" - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - if isinstance(value, bytes): - enc = _get_argv_encoding() - try: - value = value.decode(enc) - except UnicodeError: - fs_enc = sys.getfilesystemencoding() - if fs_enc != enc: - try: - value = value.decode(fs_enc) - except UnicodeError: - value = value.decode("utf-8", "replace") - else: - value = value.decode("utf-8", "replace") - return value - return str(value) - - def __repr__(self) -> str: - return "STRING" - - -class Choice(ParamType): - """The choice type allows a value to be checked against a fixed set - of supported values. All of these values have to be strings. - - You should only pass a list or tuple of choices. Other iterables - (like generators) may lead to surprising results. - - The resulting value will always be one of the originally passed choices - regardless of ``case_sensitive`` or any ``ctx.token_normalize_func`` - being specified. - - See :ref:`choice-opts` for an example. - - :param case_sensitive: Set to false to make choices case - insensitive. Defaults to true. - """ - - name = "choice" - - def __init__(self, choices: t.Sequence[str], case_sensitive: bool = True) -> None: - self.choices = choices - self.case_sensitive = case_sensitive - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict["choices"] = self.choices - info_dict["case_sensitive"] = self.case_sensitive - return info_dict - - def get_metavar(self, param: "Parameter") -> str: - choices_str = "|".join(self.choices) - - # Use curly braces to indicate a required argument. - if param.required and param.param_type_name == "argument": - return f"{{{choices_str}}}" - - # Use square braces to indicate an option or optional argument. - return f"[{choices_str}]" - - def get_missing_message(self, param: "Parameter") -> str: - return _("Choose from:\n\t{choices}").format(choices=",\n\t".join(self.choices)) - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - # Match through normalization and case sensitivity - # first do token_normalize_func, then lowercase - # preserve original `value` to produce an accurate message in - # `self.fail` - normed_value = value - normed_choices = {choice: choice for choice in self.choices} - - if ctx is not None and ctx.token_normalize_func is not None: - normed_value = ctx.token_normalize_func(value) - normed_choices = { - ctx.token_normalize_func(normed_choice): original - for normed_choice, original in normed_choices.items() - } - - if not self.case_sensitive: - normed_value = normed_value.casefold() - normed_choices = { - normed_choice.casefold(): original - for normed_choice, original in normed_choices.items() - } - - if normed_value in normed_choices: - return normed_choices[normed_value] - - choices_str = ", ".join(map(repr, self.choices)) - self.fail( - ngettext( - "{value!r} is not {choice}.", - "{value!r} is not one of {choices}.", - len(self.choices), - ).format(value=value, choice=choices_str, choices=choices_str), - param, - ctx, - ) - - def __repr__(self) -> str: - return f"Choice({list(self.choices)})" - - def shell_complete( - self, ctx: "Context", param: "Parameter", incomplete: str - ) -> t.List["CompletionItem"]: - """Complete choices that start with the incomplete value. - - :param ctx: Invocation context for this command. - :param param: The parameter that is requesting completion. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - str_choices = map(str, self.choices) - - if self.case_sensitive: - matched = (c for c in str_choices if c.startswith(incomplete)) - else: - incomplete = incomplete.lower() - matched = (c for c in str_choices if c.lower().startswith(incomplete)) - - return [CompletionItem(c) for c in matched] - - -class DateTime(ParamType): - """The DateTime type converts date strings into `datetime` objects. - - The format strings which are checked are configurable, but default to some - common (non-timezone aware) ISO 8601 formats. - - When specifying *DateTime* formats, you should only pass a list or a tuple. - Other iterables, like generators, may lead to surprising results. - - The format strings are processed using ``datetime.strptime``, and this - consequently defines the format strings which are allowed. - - Parsing is tried using each format, in order, and the first format which - parses successfully is used. - - :param formats: A list or tuple of date format strings, in the order in - which they should be tried. Defaults to - ``'%Y-%m-%d'``, ``'%Y-%m-%dT%H:%M:%S'``, - ``'%Y-%m-%d %H:%M:%S'``. - """ - - name = "datetime" - - def __init__(self, formats: t.Optional[t.Sequence[str]] = None): - self.formats: t.Sequence[str] = formats or [ - "%Y-%m-%d", - "%Y-%m-%dT%H:%M:%S", - "%Y-%m-%d %H:%M:%S", - ] - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict["formats"] = self.formats - return info_dict - - def get_metavar(self, param: "Parameter") -> str: - return f"[{'|'.join(self.formats)}]" - - def _try_to_convert_date(self, value: t.Any, format: str) -> t.Optional[datetime]: - try: - return datetime.strptime(value, format) - except ValueError: - return None - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - if isinstance(value, datetime): - return value - - for format in self.formats: - converted = self._try_to_convert_date(value, format) - - if converted is not None: - return converted - - formats_str = ", ".join(map(repr, self.formats)) - self.fail( - ngettext( - "{value!r} does not match the format {format}.", - "{value!r} does not match the formats {formats}.", - len(self.formats), - ).format(value=value, format=formats_str, formats=formats_str), - param, - ctx, - ) - - def __repr__(self) -> str: - return "DateTime" - - -class _NumberParamTypeBase(ParamType): - _number_class: t.ClassVar[t.Type[t.Any]] - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - try: - return self._number_class(value) - except ValueError: - self.fail( - _("{value!r} is not a valid {number_type}.").format( - value=value, number_type=self.name - ), - param, - ctx, - ) - - -class _NumberRangeBase(_NumberParamTypeBase): - def __init__( - self, - min: t.Optional[float] = None, - max: t.Optional[float] = None, - min_open: bool = False, - max_open: bool = False, - clamp: bool = False, - ) -> None: - self.min = min - self.max = max - self.min_open = min_open - self.max_open = max_open - self.clamp = clamp - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict.update( - min=self.min, - max=self.max, - min_open=self.min_open, - max_open=self.max_open, - clamp=self.clamp, - ) - return info_dict - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - import operator - - rv = super().convert(value, param, ctx) - lt_min: bool = self.min is not None and ( - operator.le if self.min_open else operator.lt - )(rv, self.min) - gt_max: bool = self.max is not None and ( - operator.ge if self.max_open else operator.gt - )(rv, self.max) - - if self.clamp: - if lt_min: - return self._clamp(self.min, 1, self.min_open) # type: ignore - - if gt_max: - return self._clamp(self.max, -1, self.max_open) # type: ignore - - if lt_min or gt_max: - self.fail( - _("{value} is not in the range {range}.").format( - value=rv, range=self._describe_range() - ), - param, - ctx, - ) - - return rv - - def _clamp(self, bound: float, dir: "te.Literal[1, -1]", open: bool) -> float: - """Find the valid value to clamp to bound in the given - direction. - - :param bound: The boundary value. - :param dir: 1 or -1 indicating the direction to move. - :param open: If true, the range does not include the bound. - """ - raise NotImplementedError - - def _describe_range(self) -> str: - """Describe the range for use in help text.""" - if self.min is None: - op = "<" if self.max_open else "<=" - return f"x{op}{self.max}" - - if self.max is None: - op = ">" if self.min_open else ">=" - return f"x{op}{self.min}" - - lop = "<" if self.min_open else "<=" - rop = "<" if self.max_open else "<=" - return f"{self.min}{lop}x{rop}{self.max}" - - def __repr__(self) -> str: - clamp = " clamped" if self.clamp else "" - return f"<{type(self).__name__} {self._describe_range()}{clamp}>" - - -class IntParamType(_NumberParamTypeBase): - name = "integer" - _number_class = int - - def __repr__(self) -> str: - return "INT" - - -class IntRange(_NumberRangeBase, IntParamType): - """Restrict an :data:`click.INT` value to a range of accepted - values. See :ref:`ranges`. - - If ``min`` or ``max`` are not passed, any value is accepted in that - direction. If ``min_open`` or ``max_open`` are enabled, the - corresponding boundary is not included in the range. - - If ``clamp`` is enabled, a value outside the range is clamped to the - boundary instead of failing. - - .. versionchanged:: 8.0 - Added the ``min_open`` and ``max_open`` parameters. - """ - - name = "integer range" - - def _clamp( # type: ignore - self, bound: int, dir: "te.Literal[1, -1]", open: bool - ) -> int: - if not open: - return bound - - return bound + dir - - -class FloatParamType(_NumberParamTypeBase): - name = "float" - _number_class = float - - def __repr__(self) -> str: - return "FLOAT" - - -class FloatRange(_NumberRangeBase, FloatParamType): - """Restrict a :data:`click.FLOAT` value to a range of accepted - values. See :ref:`ranges`. - - If ``min`` or ``max`` are not passed, any value is accepted in that - direction. If ``min_open`` or ``max_open`` are enabled, the - corresponding boundary is not included in the range. - - If ``clamp`` is enabled, a value outside the range is clamped to the - boundary instead of failing. This is not supported if either - boundary is marked ``open``. - - .. versionchanged:: 8.0 - Added the ``min_open`` and ``max_open`` parameters. - """ - - name = "float range" - - def __init__( - self, - min: t.Optional[float] = None, - max: t.Optional[float] = None, - min_open: bool = False, - max_open: bool = False, - clamp: bool = False, - ) -> None: - super().__init__( - min=min, max=max, min_open=min_open, max_open=max_open, clamp=clamp - ) - - if (min_open or max_open) and clamp: - raise TypeError("Clamping is not supported for open bounds.") - - def _clamp(self, bound: float, dir: "te.Literal[1, -1]", open: bool) -> float: - if not open: - return bound - - # Could use Python 3.9's math.nextafter here, but clamping an - # open float range doesn't seem to be particularly useful. It's - # left up to the user to write a callback to do it if needed. - raise RuntimeError("Clamping is not supported for open bounds.") - - -class BoolParamType(ParamType): - name = "boolean" - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - if value in {False, True}: - return bool(value) - - norm = value.strip().lower() - - if norm in {"1", "true", "t", "yes", "y", "on"}: - return True - - if norm in {"0", "false", "f", "no", "n", "off"}: - return False - - self.fail( - _("{value!r} is not a valid boolean.").format(value=value), param, ctx - ) - - def __repr__(self) -> str: - return "BOOL" - - -class UUIDParameterType(ParamType): - name = "uuid" - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - import uuid - - if isinstance(value, uuid.UUID): - return value - - value = value.strip() - - try: - return uuid.UUID(value) - except ValueError: - self.fail( - _("{value!r} is not a valid UUID.").format(value=value), param, ctx - ) - - def __repr__(self) -> str: - return "UUID" - - -class File(ParamType): - """Declares a parameter to be a file for reading or writing. The file - is automatically closed once the context tears down (after the command - finished working). - - Files can be opened for reading or writing. The special value ``-`` - indicates stdin or stdout depending on the mode. - - By default, the file is opened for reading text data, but it can also be - opened in binary mode or for writing. The encoding parameter can be used - to force a specific encoding. - - The `lazy` flag controls if the file should be opened immediately or upon - first IO. The default is to be non-lazy for standard input and output - streams as well as files opened for reading, `lazy` otherwise. When opening a - file lazily for reading, it is still opened temporarily for validation, but - will not be held open until first IO. lazy is mainly useful when opening - for writing to avoid creating the file until it is needed. - - Starting with Click 2.0, files can also be opened atomically in which - case all writes go into a separate file in the same folder and upon - completion the file will be moved over to the original location. This - is useful if a file regularly read by other users is modified. - - See :ref:`file-args` for more information. - """ - - name = "filename" - envvar_list_splitter: t.ClassVar[str] = os.path.pathsep - - def __init__( - self, - mode: str = "r", - encoding: t.Optional[str] = None, - errors: t.Optional[str] = "strict", - lazy: t.Optional[bool] = None, - atomic: bool = False, - ) -> None: - self.mode = mode - self.encoding = encoding - self.errors = errors - self.lazy = lazy - self.atomic = atomic - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict.update(mode=self.mode, encoding=self.encoding) - return info_dict - - def resolve_lazy_flag(self, value: "t.Union[str, os.PathLike[str]]") -> bool: - if self.lazy is not None: - return self.lazy - if os.fspath(value) == "-": - return False - elif "w" in self.mode: - return True - return False - - def convert( - self, - value: t.Union[str, "os.PathLike[str]", t.IO[t.Any]], - param: t.Optional["Parameter"], - ctx: t.Optional["Context"], - ) -> t.IO[t.Any]: - if _is_file_like(value): - return value - - value = t.cast("t.Union[str, os.PathLike[str]]", value) - - try: - lazy = self.resolve_lazy_flag(value) - - if lazy: - lf = LazyFile( - value, self.mode, self.encoding, self.errors, atomic=self.atomic - ) - - if ctx is not None: - ctx.call_on_close(lf.close_intelligently) - - return t.cast(t.IO[t.Any], lf) - - f, should_close = open_stream( - value, self.mode, self.encoding, self.errors, atomic=self.atomic - ) - - # If a context is provided, we automatically close the file - # at the end of the context execution (or flush out). If a - # context does not exist, it's the caller's responsibility to - # properly close the file. This for instance happens when the - # type is used with prompts. - if ctx is not None: - if should_close: - ctx.call_on_close(safecall(f.close)) - else: - ctx.call_on_close(safecall(f.flush)) - - return f - except OSError as e: # noqa: B014 - self.fail(f"'{format_filename(value)}': {e.strerror}", param, ctx) - - def shell_complete( - self, ctx: "Context", param: "Parameter", incomplete: str - ) -> t.List["CompletionItem"]: - """Return a special completion marker that tells the completion - system to use the shell to provide file path completions. - - :param ctx: Invocation context for this command. - :param param: The parameter that is requesting completion. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - return [CompletionItem(incomplete, type="file")] - - -def _is_file_like(value: t.Any) -> "te.TypeGuard[t.IO[t.Any]]": - return hasattr(value, "read") or hasattr(value, "write") - - -class Path(ParamType): - """The ``Path`` type is similar to the :class:`File` type, but - returns the filename instead of an open file. Various checks can be - enabled to validate the type of file and permissions. - - :param exists: The file or directory needs to exist for the value to - be valid. If this is not set to ``True``, and the file does not - exist, then all further checks are silently skipped. - :param file_okay: Allow a file as a value. - :param dir_okay: Allow a directory as a value. - :param readable: if true, a readable check is performed. - :param writable: if true, a writable check is performed. - :param executable: if true, an executable check is performed. - :param resolve_path: Make the value absolute and resolve any - symlinks. A ``~`` is not expanded, as this is supposed to be - done by the shell only. - :param allow_dash: Allow a single dash as a value, which indicates - a standard stream (but does not open it). Use - :func:`~click.open_file` to handle opening this value. - :param path_type: Convert the incoming path value to this type. If - ``None``, keep Python's default, which is ``str``. Useful to - convert to :class:`pathlib.Path`. - - .. versionchanged:: 8.1 - Added the ``executable`` parameter. - - .. versionchanged:: 8.0 - Allow passing ``path_type=pathlib.Path``. - - .. versionchanged:: 6.0 - Added the ``allow_dash`` parameter. - """ - - envvar_list_splitter: t.ClassVar[str] = os.path.pathsep - - def __init__( - self, - exists: bool = False, - file_okay: bool = True, - dir_okay: bool = True, - writable: bool = False, - readable: bool = True, - resolve_path: bool = False, - allow_dash: bool = False, - path_type: t.Optional[t.Type[t.Any]] = None, - executable: bool = False, - ): - self.exists = exists - self.file_okay = file_okay - self.dir_okay = dir_okay - self.readable = readable - self.writable = writable - self.executable = executable - self.resolve_path = resolve_path - self.allow_dash = allow_dash - self.type = path_type - - if self.file_okay and not self.dir_okay: - self.name: str = _("file") - elif self.dir_okay and not self.file_okay: - self.name = _("directory") - else: - self.name = _("path") - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict.update( - exists=self.exists, - file_okay=self.file_okay, - dir_okay=self.dir_okay, - writable=self.writable, - readable=self.readable, - allow_dash=self.allow_dash, - ) - return info_dict - - def coerce_path_result( - self, value: "t.Union[str, os.PathLike[str]]" - ) -> "t.Union[str, bytes, os.PathLike[str]]": - if self.type is not None and not isinstance(value, self.type): - if self.type is str: - return os.fsdecode(value) - elif self.type is bytes: - return os.fsencode(value) - else: - return t.cast("os.PathLike[str]", self.type(value)) - - return value - - def convert( - self, - value: "t.Union[str, os.PathLike[str]]", - param: t.Optional["Parameter"], - ctx: t.Optional["Context"], - ) -> "t.Union[str, bytes, os.PathLike[str]]": - rv = value - - is_dash = self.file_okay and self.allow_dash and rv in (b"-", "-") - - if not is_dash: - if self.resolve_path: - # os.path.realpath doesn't resolve symlinks on Windows - # until Python 3.8. Use pathlib for now. - import pathlib - - rv = os.fsdecode(pathlib.Path(rv).resolve()) - - try: - st = os.stat(rv) - except OSError: - if not self.exists: - return self.coerce_path_result(rv) - self.fail( - _("{name} {filename!r} does not exist.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - - if not self.file_okay and stat.S_ISREG(st.st_mode): - self.fail( - _("{name} {filename!r} is a file.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - if not self.dir_okay and stat.S_ISDIR(st.st_mode): - self.fail( - _("{name} '{filename}' is a directory.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - - if self.readable and not os.access(rv, os.R_OK): - self.fail( - _("{name} {filename!r} is not readable.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - - if self.writable and not os.access(rv, os.W_OK): - self.fail( - _("{name} {filename!r} is not writable.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - - if self.executable and not os.access(value, os.X_OK): - self.fail( - _("{name} {filename!r} is not executable.").format( - name=self.name.title(), filename=format_filename(value) - ), - param, - ctx, - ) - - return self.coerce_path_result(rv) - - def shell_complete( - self, ctx: "Context", param: "Parameter", incomplete: str - ) -> t.List["CompletionItem"]: - """Return a special completion marker that tells the completion - system to use the shell to provide path completions for only - directories or any paths. - - :param ctx: Invocation context for this command. - :param param: The parameter that is requesting completion. - :param incomplete: Value being completed. May be empty. - - .. versionadded:: 8.0 - """ - from click.shell_completion import CompletionItem - - type = "dir" if self.dir_okay and not self.file_okay else "file" - return [CompletionItem(incomplete, type=type)] - - -class Tuple(CompositeParamType): - """The default behavior of Click is to apply a type on a value directly. - This works well in most cases, except for when `nargs` is set to a fixed - count and different types should be used for different items. In this - case the :class:`Tuple` type can be used. This type can only be used - if `nargs` is set to a fixed number. - - For more information see :ref:`tuple-type`. - - This can be selected by using a Python tuple literal as a type. - - :param types: a list of types that should be used for the tuple items. - """ - - def __init__(self, types: t.Sequence[t.Union[t.Type[t.Any], ParamType]]) -> None: - self.types: t.Sequence[ParamType] = [convert_type(ty) for ty in types] - - def to_info_dict(self) -> t.Dict[str, t.Any]: - info_dict = super().to_info_dict() - info_dict["types"] = [t.to_info_dict() for t in self.types] - return info_dict - - @property - def name(self) -> str: # type: ignore - return f"<{' '.join(ty.name for ty in self.types)}>" - - @property - def arity(self) -> int: # type: ignore - return len(self.types) - - def convert( - self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] - ) -> t.Any: - len_type = len(self.types) - len_value = len(value) - - if len_value != len_type: - self.fail( - ngettext( - "{len_type} values are required, but {len_value} was given.", - "{len_type} values are required, but {len_value} were given.", - len_value, - ).format(len_type=len_type, len_value=len_value), - param=param, - ctx=ctx, - ) - - return tuple(ty(x, param, ctx) for ty, x in zip(self.types, value)) - - -def convert_type(ty: t.Optional[t.Any], default: t.Optional[t.Any] = None) -> ParamType: - """Find the most appropriate :class:`ParamType` for the given Python - type. If the type isn't provided, it can be inferred from a default - value. - """ - guessed_type = False - - if ty is None and default is not None: - if isinstance(default, (tuple, list)): - # If the default is empty, ty will remain None and will - # return STRING. - if default: - item = default[0] - - # A tuple of tuples needs to detect the inner types. - # Can't call convert recursively because that would - # incorrectly unwind the tuple to a single type. - if isinstance(item, (tuple, list)): - ty = tuple(map(type, item)) - else: - ty = type(item) - else: - ty = type(default) - - guessed_type = True - - if isinstance(ty, tuple): - return Tuple(ty) - - if isinstance(ty, ParamType): - return ty - - if ty is str or ty is None: - return STRING - - if ty is int: - return INT - - if ty is float: - return FLOAT - - if ty is bool: - return BOOL - - if guessed_type: - return STRING - - if __debug__: - try: - if issubclass(ty, ParamType): - raise AssertionError( - f"Attempted to use an uninstantiated parameter type ({ty})." - ) - except TypeError: - # ty is an instance (correct), so issubclass fails. - pass - - return FuncParamType(ty) - - -#: A dummy parameter type that just does nothing. From a user's -#: perspective this appears to just be the same as `STRING` but -#: internally no string conversion takes place if the input was bytes. -#: This is usually useful when working with file paths as they can -#: appear in bytes and unicode. -#: -#: For path related uses the :class:`Path` type is a better choice but -#: there are situations where an unprocessed type is useful which is why -#: it is is provided. -#: -#: .. versionadded:: 4.0 -UNPROCESSED = UnprocessedParamType() - -#: A unicode string parameter type which is the implicit default. This -#: can also be selected by using ``str`` as type. -STRING = StringParamType() - -#: An integer parameter. This can also be selected by using ``int`` as -#: type. -INT = IntParamType() - -#: A floating point value parameter. This can also be selected by using -#: ``float`` as type. -FLOAT = FloatParamType() - -#: A boolean parameter. This is the default for boolean flags. This can -#: also be selected by using ``bool`` as a type. -BOOL = BoolParamType() - -#: A UUID parameter. -UUID = UUIDParameterType() diff --git a/venv/lib/python3.11/site-packages/click/utils.py b/venv/lib/python3.11/site-packages/click/utils.py deleted file mode 100644 index d536434..0000000 --- a/venv/lib/python3.11/site-packages/click/utils.py +++ /dev/null @@ -1,624 +0,0 @@ -import os -import re -import sys -import typing as t -from functools import update_wrapper -from types import ModuleType -from types import TracebackType - -from ._compat import _default_text_stderr -from ._compat import _default_text_stdout -from ._compat import _find_binary_writer -from ._compat import auto_wrap_for_ansi -from ._compat import binary_streams -from ._compat import open_stream -from ._compat import should_strip_ansi -from ._compat import strip_ansi -from ._compat import text_streams -from ._compat import WIN -from .globals import resolve_color_default - -if t.TYPE_CHECKING: - import typing_extensions as te - - P = te.ParamSpec("P") - -R = t.TypeVar("R") - - -def _posixify(name: str) -> str: - return "-".join(name.split()).lower() - - -def safecall(func: "t.Callable[P, R]") -> "t.Callable[P, t.Optional[R]]": - """Wraps a function so that it swallows exceptions.""" - - def wrapper(*args: "P.args", **kwargs: "P.kwargs") -> t.Optional[R]: - try: - return func(*args, **kwargs) - except Exception: - pass - return None - - return update_wrapper(wrapper, func) - - -def make_str(value: t.Any) -> str: - """Converts a value into a valid string.""" - if isinstance(value, bytes): - try: - return value.decode(sys.getfilesystemencoding()) - except UnicodeError: - return value.decode("utf-8", "replace") - return str(value) - - -def make_default_short_help(help: str, max_length: int = 45) -> str: - """Returns a condensed version of help string.""" - # Consider only the first paragraph. - paragraph_end = help.find("\n\n") - - if paragraph_end != -1: - help = help[:paragraph_end] - - # Collapse newlines, tabs, and spaces. - words = help.split() - - if not words: - return "" - - # The first paragraph started with a "no rewrap" marker, ignore it. - if words[0] == "\b": - words = words[1:] - - total_length = 0 - last_index = len(words) - 1 - - for i, word in enumerate(words): - total_length += len(word) + (i > 0) - - if total_length > max_length: # too long, truncate - break - - if word[-1] == ".": # sentence end, truncate without "..." - return " ".join(words[: i + 1]) - - if total_length == max_length and i != last_index: - break # not at sentence end, truncate with "..." - else: - return " ".join(words) # no truncation needed - - # Account for the length of the suffix. - total_length += len("...") - - # remove words until the length is short enough - while i > 0: - total_length -= len(words[i]) + (i > 0) - - if total_length <= max_length: - break - - i -= 1 - - return " ".join(words[:i]) + "..." - - -class LazyFile: - """A lazy file works like a regular file but it does not fully open - the file but it does perform some basic checks early to see if the - filename parameter does make sense. This is useful for safely opening - files for writing. - """ - - def __init__( - self, - filename: t.Union[str, "os.PathLike[str]"], - mode: str = "r", - encoding: t.Optional[str] = None, - errors: t.Optional[str] = "strict", - atomic: bool = False, - ): - self.name: str = os.fspath(filename) - self.mode = mode - self.encoding = encoding - self.errors = errors - self.atomic = atomic - self._f: t.Optional[t.IO[t.Any]] - self.should_close: bool - - if self.name == "-": - self._f, self.should_close = open_stream(filename, mode, encoding, errors) - else: - if "r" in mode: - # Open and close the file in case we're opening it for - # reading so that we can catch at least some errors in - # some cases early. - open(filename, mode).close() - self._f = None - self.should_close = True - - def __getattr__(self, name: str) -> t.Any: - return getattr(self.open(), name) - - def __repr__(self) -> str: - if self._f is not None: - return repr(self._f) - return f"" - - def open(self) -> t.IO[t.Any]: - """Opens the file if it's not yet open. This call might fail with - a :exc:`FileError`. Not handling this error will produce an error - that Click shows. - """ - if self._f is not None: - return self._f - try: - rv, self.should_close = open_stream( - self.name, self.mode, self.encoding, self.errors, atomic=self.atomic - ) - except OSError as e: # noqa: E402 - from .exceptions import FileError - - raise FileError(self.name, hint=e.strerror) from e - self._f = rv - return rv - - def close(self) -> None: - """Closes the underlying file, no matter what.""" - if self._f is not None: - self._f.close() - - def close_intelligently(self) -> None: - """This function only closes the file if it was opened by the lazy - file wrapper. For instance this will never close stdin. - """ - if self.should_close: - self.close() - - def __enter__(self) -> "LazyFile": - return self - - def __exit__( - self, - exc_type: t.Optional[t.Type[BaseException]], - exc_value: t.Optional[BaseException], - tb: t.Optional[TracebackType], - ) -> None: - self.close_intelligently() - - def __iter__(self) -> t.Iterator[t.AnyStr]: - self.open() - return iter(self._f) # type: ignore - - -class KeepOpenFile: - def __init__(self, file: t.IO[t.Any]) -> None: - self._file: t.IO[t.Any] = file - - def __getattr__(self, name: str) -> t.Any: - return getattr(self._file, name) - - def __enter__(self) -> "KeepOpenFile": - return self - - def __exit__( - self, - exc_type: t.Optional[t.Type[BaseException]], - exc_value: t.Optional[BaseException], - tb: t.Optional[TracebackType], - ) -> None: - pass - - def __repr__(self) -> str: - return repr(self._file) - - def __iter__(self) -> t.Iterator[t.AnyStr]: - return iter(self._file) - - -def echo( - message: t.Optional[t.Any] = None, - file: t.Optional[t.IO[t.Any]] = None, - nl: bool = True, - err: bool = False, - color: t.Optional[bool] = None, -) -> None: - """Print a message and newline to stdout or a file. This should be - used instead of :func:`print` because it provides better support - for different data, files, and environments. - - Compared to :func:`print`, this does the following: - - - Ensures that the output encoding is not misconfigured on Linux. - - Supports Unicode in the Windows console. - - Supports writing to binary outputs, and supports writing bytes - to text outputs. - - Supports colors and styles on Windows. - - Removes ANSI color and style codes if the output does not look - like an interactive terminal. - - Always flushes the output. - - :param message: The string or bytes to output. Other objects are - converted to strings. - :param file: The file to write to. Defaults to ``stdout``. - :param err: Write to ``stderr`` instead of ``stdout``. - :param nl: Print a newline after the message. Enabled by default. - :param color: Force showing or hiding colors and other styles. By - default Click will remove color if the output does not look like - an interactive terminal. - - .. versionchanged:: 6.0 - Support Unicode output on the Windows console. Click does not - modify ``sys.stdout``, so ``sys.stdout.write()`` and ``print()`` - will still not support Unicode. - - .. versionchanged:: 4.0 - Added the ``color`` parameter. - - .. versionadded:: 3.0 - Added the ``err`` parameter. - - .. versionchanged:: 2.0 - Support colors on Windows if colorama is installed. - """ - if file is None: - if err: - file = _default_text_stderr() - else: - file = _default_text_stdout() - - # There are no standard streams attached to write to. For example, - # pythonw on Windows. - if file is None: - return - - # Convert non bytes/text into the native string type. - if message is not None and not isinstance(message, (str, bytes, bytearray)): - out: t.Optional[t.Union[str, bytes]] = str(message) - else: - out = message - - if nl: - out = out or "" - if isinstance(out, str): - out += "\n" - else: - out += b"\n" - - if not out: - file.flush() - return - - # If there is a message and the value looks like bytes, we manually - # need to find the binary stream and write the message in there. - # This is done separately so that most stream types will work as you - # would expect. Eg: you can write to StringIO for other cases. - if isinstance(out, (bytes, bytearray)): - binary_file = _find_binary_writer(file) - - if binary_file is not None: - file.flush() - binary_file.write(out) - binary_file.flush() - return - - # ANSI style code support. For no message or bytes, nothing happens. - # When outputting to a file instead of a terminal, strip codes. - else: - color = resolve_color_default(color) - - if should_strip_ansi(file, color): - out = strip_ansi(out) - elif WIN: - if auto_wrap_for_ansi is not None: - file = auto_wrap_for_ansi(file) # type: ignore - elif not color: - out = strip_ansi(out) - - file.write(out) # type: ignore - file.flush() - - -def get_binary_stream(name: "te.Literal['stdin', 'stdout', 'stderr']") -> t.BinaryIO: - """Returns a system stream for byte processing. - - :param name: the name of the stream to open. Valid names are ``'stdin'``, - ``'stdout'`` and ``'stderr'`` - """ - opener = binary_streams.get(name) - if opener is None: - raise TypeError(f"Unknown standard stream '{name}'") - return opener() - - -def get_text_stream( - name: "te.Literal['stdin', 'stdout', 'stderr']", - encoding: t.Optional[str] = None, - errors: t.Optional[str] = "strict", -) -> t.TextIO: - """Returns a system stream for text processing. This usually returns - a wrapped stream around a binary stream returned from - :func:`get_binary_stream` but it also can take shortcuts for already - correctly configured streams. - - :param name: the name of the stream to open. Valid names are ``'stdin'``, - ``'stdout'`` and ``'stderr'`` - :param encoding: overrides the detected default encoding. - :param errors: overrides the default error mode. - """ - opener = text_streams.get(name) - if opener is None: - raise TypeError(f"Unknown standard stream '{name}'") - return opener(encoding, errors) - - -def open_file( - filename: str, - mode: str = "r", - encoding: t.Optional[str] = None, - errors: t.Optional[str] = "strict", - lazy: bool = False, - atomic: bool = False, -) -> t.IO[t.Any]: - """Open a file, with extra behavior to handle ``'-'`` to indicate - a standard stream, lazy open on write, and atomic write. Similar to - the behavior of the :class:`~click.File` param type. - - If ``'-'`` is given to open ``stdout`` or ``stdin``, the stream is - wrapped so that using it in a context manager will not close it. - This makes it possible to use the function without accidentally - closing a standard stream: - - .. code-block:: python - - with open_file(filename) as f: - ... - - :param filename: The name of the file to open, or ``'-'`` for - ``stdin``/``stdout``. - :param mode: The mode in which to open the file. - :param encoding: The encoding to decode or encode a file opened in - text mode. - :param errors: The error handling mode. - :param lazy: Wait to open the file until it is accessed. For read - mode, the file is temporarily opened to raise access errors - early, then closed until it is read again. - :param atomic: Write to a temporary file and replace the given file - on close. - - .. versionadded:: 3.0 - """ - if lazy: - return t.cast( - t.IO[t.Any], LazyFile(filename, mode, encoding, errors, atomic=atomic) - ) - - f, should_close = open_stream(filename, mode, encoding, errors, atomic=atomic) - - if not should_close: - f = t.cast(t.IO[t.Any], KeepOpenFile(f)) - - return f - - -def format_filename( - filename: "t.Union[str, bytes, os.PathLike[str], os.PathLike[bytes]]", - shorten: bool = False, -) -> str: - """Format a filename as a string for display. Ensures the filename can be - displayed by replacing any invalid bytes or surrogate escapes in the name - with the replacement character ``�``. - - Invalid bytes or surrogate escapes will raise an error when written to a - stream with ``errors="strict". This will typically happen with ``stdout`` - when the locale is something like ``en_GB.UTF-8``. - - Many scenarios *are* safe to write surrogates though, due to PEP 538 and - PEP 540, including: - - - Writing to ``stderr``, which uses ``errors="backslashreplace"``. - - The system has ``LANG=C.UTF-8``, ``C``, or ``POSIX``. Python opens - stdout and stderr with ``errors="surrogateescape"``. - - None of ``LANG/LC_*`` are set. Python assumes ``LANG=C.UTF-8``. - - Python is started in UTF-8 mode with ``PYTHONUTF8=1`` or ``-X utf8``. - Python opens stdout and stderr with ``errors="surrogateescape"``. - - :param filename: formats a filename for UI display. This will also convert - the filename into unicode without failing. - :param shorten: this optionally shortens the filename to strip of the - path that leads up to it. - """ - if shorten: - filename = os.path.basename(filename) - else: - filename = os.fspath(filename) - - if isinstance(filename, bytes): - filename = filename.decode(sys.getfilesystemencoding(), "replace") - else: - filename = filename.encode("utf-8", "surrogateescape").decode( - "utf-8", "replace" - ) - - return filename - - -def get_app_dir(app_name: str, roaming: bool = True, force_posix: bool = False) -> str: - r"""Returns the config folder for the application. The default behavior - is to return whatever is most appropriate for the operating system. - - To give you an idea, for an app called ``"Foo Bar"``, something like - the following folders could be returned: - - Mac OS X: - ``~/Library/Application Support/Foo Bar`` - Mac OS X (POSIX): - ``~/.foo-bar`` - Unix: - ``~/.config/foo-bar`` - Unix (POSIX): - ``~/.foo-bar`` - Windows (roaming): - ``C:\Users\\AppData\Roaming\Foo Bar`` - Windows (not roaming): - ``C:\Users\\AppData\Local\Foo Bar`` - - .. versionadded:: 2.0 - - :param app_name: the application name. This should be properly capitalized - and can contain whitespace. - :param roaming: controls if the folder should be roaming or not on Windows. - Has no effect otherwise. - :param force_posix: if this is set to `True` then on any POSIX system the - folder will be stored in the home folder with a leading - dot instead of the XDG config home or darwin's - application support folder. - """ - if WIN: - key = "APPDATA" if roaming else "LOCALAPPDATA" - folder = os.environ.get(key) - if folder is None: - folder = os.path.expanduser("~") - return os.path.join(folder, app_name) - if force_posix: - return os.path.join(os.path.expanduser(f"~/.{_posixify(app_name)}")) - if sys.platform == "darwin": - return os.path.join( - os.path.expanduser("~/Library/Application Support"), app_name - ) - return os.path.join( - os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")), - _posixify(app_name), - ) - - -class PacifyFlushWrapper: - """This wrapper is used to catch and suppress BrokenPipeErrors resulting - from ``.flush()`` being called on broken pipe during the shutdown/final-GC - of the Python interpreter. Notably ``.flush()`` is always called on - ``sys.stdout`` and ``sys.stderr``. So as to have minimal impact on any - other cleanup code, and the case where the underlying file is not a broken - pipe, all calls and attributes are proxied. - """ - - def __init__(self, wrapped: t.IO[t.Any]) -> None: - self.wrapped = wrapped - - def flush(self) -> None: - try: - self.wrapped.flush() - except OSError as e: - import errno - - if e.errno != errno.EPIPE: - raise - - def __getattr__(self, attr: str) -> t.Any: - return getattr(self.wrapped, attr) - - -def _detect_program_name( - path: t.Optional[str] = None, _main: t.Optional[ModuleType] = None -) -> str: - """Determine the command used to run the program, for use in help - text. If a file or entry point was executed, the file name is - returned. If ``python -m`` was used to execute a module or package, - ``python -m name`` is returned. - - This doesn't try to be too precise, the goal is to give a concise - name for help text. Files are only shown as their name without the - path. ``python`` is only shown for modules, and the full path to - ``sys.executable`` is not shown. - - :param path: The Python file being executed. Python puts this in - ``sys.argv[0]``, which is used by default. - :param _main: The ``__main__`` module. This should only be passed - during internal testing. - - .. versionadded:: 8.0 - Based on command args detection in the Werkzeug reloader. - - :meta private: - """ - if _main is None: - _main = sys.modules["__main__"] - - if not path: - path = sys.argv[0] - - # The value of __package__ indicates how Python was called. It may - # not exist if a setuptools script is installed as an egg. It may be - # set incorrectly for entry points created with pip on Windows. - # It is set to "" inside a Shiv or PEX zipapp. - if getattr(_main, "__package__", None) in {None, ""} or ( - os.name == "nt" - and _main.__package__ == "" - and not os.path.exists(path) - and os.path.exists(f"{path}.exe") - ): - # Executed a file, like "python app.py". - return os.path.basename(path) - - # Executed a module, like "python -m example". - # Rewritten by Python from "-m script" to "/path/to/script.py". - # Need to look at main module to determine how it was executed. - py_module = t.cast(str, _main.__package__) - name = os.path.splitext(os.path.basename(path))[0] - - # A submodule like "example.cli". - if name != "__main__": - py_module = f"{py_module}.{name}" - - return f"python -m {py_module.lstrip('.')}" - - -def _expand_args( - args: t.Iterable[str], - *, - user: bool = True, - env: bool = True, - glob_recursive: bool = True, -) -> t.List[str]: - """Simulate Unix shell expansion with Python functions. - - See :func:`glob.glob`, :func:`os.path.expanduser`, and - :func:`os.path.expandvars`. - - This is intended for use on Windows, where the shell does not do any - expansion. It may not exactly match what a Unix shell would do. - - :param args: List of command line arguments to expand. - :param user: Expand user home directory. - :param env: Expand environment variables. - :param glob_recursive: ``**`` matches directories recursively. - - .. versionchanged:: 8.1 - Invalid glob patterns are treated as empty expansions rather - than raising an error. - - .. versionadded:: 8.0 - - :meta private: - """ - from glob import glob - - out = [] - - for arg in args: - if user: - arg = os.path.expanduser(arg) - - if env: - arg = os.path.expandvars(arg) - - try: - matches = glob(arg, recursive=glob_recursive) - except re.error: - matches = [] - - if not matches: - out.append(arg) - else: - out.extend(matches) - - return out diff --git a/venv/lib/python3.11/site-packages/dateutil/__init__.py b/venv/lib/python3.11/site-packages/dateutil/__init__.py deleted file mode 100644 index a2c19c0..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -import sys - -try: - from ._version import version as __version__ -except ImportError: - __version__ = 'unknown' - -__all__ = ['easter', 'parser', 'relativedelta', 'rrule', 'tz', - 'utils', 'zoneinfo'] - -def __getattr__(name): - import importlib - - if name in __all__: - return importlib.import_module("." + name, __name__) - raise AttributeError( - "module {!r} has not attribute {!r}".format(__name__, name) - ) - - -def __dir__(): - # __dir__ should include all the lazy-importable modules as well. - return [x for x in globals() if x not in sys.modules] + __all__ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index a57fcc1..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/_common.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/_common.cpython-311.pyc deleted file mode 100644 index 289ba2e..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/_common.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/_version.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/_version.cpython-311.pyc deleted file mode 100644 index f8ae8e1..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/_version.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/easter.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/easter.cpython-311.pyc deleted file mode 100644 index 1ced625..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/easter.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/relativedelta.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/relativedelta.cpython-311.pyc deleted file mode 100644 index 5e91f04..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/relativedelta.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/rrule.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/rrule.cpython-311.pyc deleted file mode 100644 index ce59fc5..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/rrule.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/tzwin.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/tzwin.cpython-311.pyc deleted file mode 100644 index c0ddadc..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/tzwin.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/__pycache__/utils.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/__pycache__/utils.cpython-311.pyc deleted file mode 100644 index c6db071..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/__pycache__/utils.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/_common.py b/venv/lib/python3.11/site-packages/dateutil/_common.py deleted file mode 100644 index 4eb2659..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/_common.py +++ /dev/null @@ -1,43 +0,0 @@ -""" -Common code used in multiple modules. -""" - - -class weekday(object): - __slots__ = ["weekday", "n"] - - def __init__(self, weekday, n=None): - self.weekday = weekday - self.n = n - - def __call__(self, n): - if n == self.n: - return self - else: - return self.__class__(self.weekday, n) - - def __eq__(self, other): - try: - if self.weekday != other.weekday or self.n != other.n: - return False - except AttributeError: - return False - return True - - def __hash__(self): - return hash(( - self.weekday, - self.n, - )) - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday] - if not self.n: - return s - else: - return "%s(%+d)" % (s, self.n) - -# vim:ts=4:sw=4:et diff --git a/venv/lib/python3.11/site-packages/dateutil/_version.py b/venv/lib/python3.11/site-packages/dateutil/_version.py deleted file mode 100644 index ddda980..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/_version.py +++ /dev/null @@ -1,4 +0,0 @@ -# file generated by setuptools_scm -# don't change, don't track in version control -__version__ = version = '2.9.0.post0' -__version_tuple__ = version_tuple = (2, 9, 0) diff --git a/venv/lib/python3.11/site-packages/dateutil/easter.py b/venv/lib/python3.11/site-packages/dateutil/easter.py deleted file mode 100644 index f74d1f7..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/easter.py +++ /dev/null @@ -1,89 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module offers a generic Easter computing method for any given year, using -Western, Orthodox or Julian algorithms. -""" - -import datetime - -__all__ = ["easter", "EASTER_JULIAN", "EASTER_ORTHODOX", "EASTER_WESTERN"] - -EASTER_JULIAN = 1 -EASTER_ORTHODOX = 2 -EASTER_WESTERN = 3 - - -def easter(year, method=EASTER_WESTERN): - """ - This method was ported from the work done by GM Arts, - on top of the algorithm by Claus Tondering, which was - based in part on the algorithm of Ouding (1940), as - quoted in "Explanatory Supplement to the Astronomical - Almanac", P. Kenneth Seidelmann, editor. - - This algorithm implements three different Easter - calculation methods: - - 1. Original calculation in Julian calendar, valid in - dates after 326 AD - 2. Original method, with date converted to Gregorian - calendar, valid in years 1583 to 4099 - 3. Revised method, in Gregorian calendar, valid in - years 1583 to 4099 as well - - These methods are represented by the constants: - - * ``EASTER_JULIAN = 1`` - * ``EASTER_ORTHODOX = 2`` - * ``EASTER_WESTERN = 3`` - - The default method is method 3. - - More about the algorithm may be found at: - - `GM Arts: Easter Algorithms `_ - - and - - `The Calendar FAQ: Easter `_ - - """ - - if not (1 <= method <= 3): - raise ValueError("invalid method") - - # g - Golden year - 1 - # c - Century - # h - (23 - Epact) mod 30 - # i - Number of days from March 21 to Paschal Full Moon - # j - Weekday for PFM (0=Sunday, etc) - # p - Number of days from March 21 to Sunday on or before PFM - # (-6 to 28 methods 1 & 3, to 56 for method 2) - # e - Extra days to add for method 2 (converting Julian - # date to Gregorian date) - - y = year - g = y % 19 - e = 0 - if method < 3: - # Old method - i = (19*g + 15) % 30 - j = (y + y//4 + i) % 7 - if method == 2: - # Extra dates to convert Julian to Gregorian date - e = 10 - if y > 1600: - e = e + y//100 - 16 - (y//100 - 16)//4 - else: - # New method - c = y//100 - h = (c - c//4 - (8*c + 13)//25 + 19*g + 15) % 30 - i = h - (h//28)*(1 - (h//28)*(29//(h + 1))*((21 - g)//11)) - j = (y + y//4 + i + 2 - c + c//4) % 7 - - # p can be from -6 to 56 corresponding to dates 22 March to 23 May - # (later dates apply to method 2, although 23 May never actually occurs) - p = i - j + e - d = 1 + (p + 27 + (p + 6)//40) % 31 - m = 3 + (p + 26)//30 - return datetime.date(int(y), int(m), int(d)) diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/__init__.py b/venv/lib/python3.11/site-packages/dateutil/parser/__init__.py deleted file mode 100644 index d174b0e..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/parser/__init__.py +++ /dev/null @@ -1,61 +0,0 @@ -# -*- coding: utf-8 -*- -from ._parser import parse, parser, parserinfo, ParserError -from ._parser import DEFAULTPARSER, DEFAULTTZPARSER -from ._parser import UnknownTimezoneWarning - -from ._parser import __doc__ - -from .isoparser import isoparser, isoparse - -__all__ = ['parse', 'parser', 'parserinfo', - 'isoparse', 'isoparser', - 'ParserError', - 'UnknownTimezoneWarning'] - - -### -# Deprecate portions of the private interface so that downstream code that -# is improperly relying on it is given *some* notice. - - -def __deprecated_private_func(f): - from functools import wraps - import warnings - - msg = ('{name} is a private function and may break without warning, ' - 'it will be moved and or renamed in future versions.') - msg = msg.format(name=f.__name__) - - @wraps(f) - def deprecated_func(*args, **kwargs): - warnings.warn(msg, DeprecationWarning) - return f(*args, **kwargs) - - return deprecated_func - -def __deprecate_private_class(c): - import warnings - - msg = ('{name} is a private class and may break without warning, ' - 'it will be moved and or renamed in future versions.') - msg = msg.format(name=c.__name__) - - class private_class(c): - __doc__ = c.__doc__ - - def __init__(self, *args, **kwargs): - warnings.warn(msg, DeprecationWarning) - super(private_class, self).__init__(*args, **kwargs) - - private_class.__name__ = c.__name__ - - return private_class - - -from ._parser import _timelex, _resultbase -from ._parser import _tzparser, _parsetz - -_timelex = __deprecate_private_class(_timelex) -_tzparser = __deprecate_private_class(_tzparser) -_resultbase = __deprecate_private_class(_resultbase) -_parsetz = __deprecated_private_func(_parsetz) diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 666f34f..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/_parser.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/_parser.cpython-311.pyc deleted file mode 100644 index 18ce04a..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/_parser.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/isoparser.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/isoparser.cpython-311.pyc deleted file mode 100644 index 91d5c9c..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/parser/__pycache__/isoparser.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/_parser.py b/venv/lib/python3.11/site-packages/dateutil/parser/_parser.py deleted file mode 100644 index 37d1663..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/parser/_parser.py +++ /dev/null @@ -1,1613 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module offers a generic date/time string parser which is able to parse -most known formats to represent a date and/or time. - -This module attempts to be forgiving with regards to unlikely input formats, -returning a datetime object even for dates which are ambiguous. If an element -of a date/time stamp is omitted, the following rules are applied: - -- If AM or PM is left unspecified, a 24-hour clock is assumed, however, an hour - on a 12-hour clock (``0 <= hour <= 12``) *must* be specified if AM or PM is - specified. -- If a time zone is omitted, a timezone-naive datetime is returned. - -If any other elements are missing, they are taken from the -:class:`datetime.datetime` object passed to the parameter ``default``. If this -results in a day number exceeding the valid number of days per month, the -value falls back to the end of the month. - -Additional resources about date/time string formats can be found below: - -- `A summary of the international standard date and time notation - `_ -- `W3C Date and Time Formats `_ -- `Time Formats (Planetary Rings Node) `_ -- `CPAN ParseDate module - `_ -- `Java SimpleDateFormat Class - `_ -""" -from __future__ import unicode_literals - -import datetime -import re -import string -import time -import warnings - -from calendar import monthrange -from io import StringIO - -import six -from six import integer_types, text_type - -from decimal import Decimal - -from warnings import warn - -from .. import relativedelta -from .. import tz - -__all__ = ["parse", "parserinfo", "ParserError"] - - -# TODO: pandas.core.tools.datetimes imports this explicitly. Might be worth -# making public and/or figuring out if there is something we can -# take off their plate. -class _timelex(object): - # Fractional seconds are sometimes split by a comma - _split_decimal = re.compile("([.,])") - - def __init__(self, instream): - if isinstance(instream, (bytes, bytearray)): - instream = instream.decode() - - if isinstance(instream, text_type): - instream = StringIO(instream) - elif getattr(instream, 'read', None) is None: - raise TypeError('Parser must be a string or character stream, not ' - '{itype}'.format(itype=instream.__class__.__name__)) - - self.instream = instream - self.charstack = [] - self.tokenstack = [] - self.eof = False - - def get_token(self): - """ - This function breaks the time string into lexical units (tokens), which - can be parsed by the parser. Lexical units are demarcated by changes in - the character set, so any continuous string of letters is considered - one unit, any continuous string of numbers is considered one unit. - - The main complication arises from the fact that dots ('.') can be used - both as separators (e.g. "Sep.20.2009") or decimal points (e.g. - "4:30:21.447"). As such, it is necessary to read the full context of - any dot-separated strings before breaking it into tokens; as such, this - function maintains a "token stack", for when the ambiguous context - demands that multiple tokens be parsed at once. - """ - if self.tokenstack: - return self.tokenstack.pop(0) - - seenletters = False - token = None - state = None - - while not self.eof: - # We only realize that we've reached the end of a token when we - # find a character that's not part of the current token - since - # that character may be part of the next token, it's stored in the - # charstack. - if self.charstack: - nextchar = self.charstack.pop(0) - else: - nextchar = self.instream.read(1) - while nextchar == '\x00': - nextchar = self.instream.read(1) - - if not nextchar: - self.eof = True - break - elif not state: - # First character of the token - determines if we're starting - # to parse a word, a number or something else. - token = nextchar - if self.isword(nextchar): - state = 'a' - elif self.isnum(nextchar): - state = '0' - elif self.isspace(nextchar): - token = ' ' - break # emit token - else: - break # emit token - elif state == 'a': - # If we've already started reading a word, we keep reading - # letters until we find something that's not part of a word. - seenletters = True - if self.isword(nextchar): - token += nextchar - elif nextchar == '.': - token += nextchar - state = 'a.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == '0': - # If we've already started reading a number, we keep reading - # numbers until we find something that doesn't fit. - if self.isnum(nextchar): - token += nextchar - elif nextchar == '.' or (nextchar == ',' and len(token) >= 2): - token += nextchar - state = '0.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == 'a.': - # If we've seen some letters and a dot separator, continue - # parsing, and the tokens will be broken up later. - seenletters = True - if nextchar == '.' or self.isword(nextchar): - token += nextchar - elif self.isnum(nextchar) and token[-1] == '.': - token += nextchar - state = '0.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == '0.': - # If we've seen at least one dot separator, keep going, we'll - # break up the tokens later. - if nextchar == '.' or self.isnum(nextchar): - token += nextchar - elif self.isword(nextchar) and token[-1] == '.': - token += nextchar - state = 'a.' - else: - self.charstack.append(nextchar) - break # emit token - - if (state in ('a.', '0.') and (seenletters or token.count('.') > 1 or - token[-1] in '.,')): - l = self._split_decimal.split(token) - token = l[0] - for tok in l[1:]: - if tok: - self.tokenstack.append(tok) - - if state == '0.' and token.count('.') == 0: - token = token.replace(',', '.') - - return token - - def __iter__(self): - return self - - def __next__(self): - token = self.get_token() - if token is None: - raise StopIteration - - return token - - def next(self): - return self.__next__() # Python 2.x support - - @classmethod - def split(cls, s): - return list(cls(s)) - - @classmethod - def isword(cls, nextchar): - """ Whether or not the next character is part of a word """ - return nextchar.isalpha() - - @classmethod - def isnum(cls, nextchar): - """ Whether the next character is part of a number """ - return nextchar.isdigit() - - @classmethod - def isspace(cls, nextchar): - """ Whether the next character is whitespace """ - return nextchar.isspace() - - -class _resultbase(object): - - def __init__(self): - for attr in self.__slots__: - setattr(self, attr, None) - - def _repr(self, classname): - l = [] - for attr in self.__slots__: - value = getattr(self, attr) - if value is not None: - l.append("%s=%s" % (attr, repr(value))) - return "%s(%s)" % (classname, ", ".join(l)) - - def __len__(self): - return (sum(getattr(self, attr) is not None - for attr in self.__slots__)) - - def __repr__(self): - return self._repr(self.__class__.__name__) - - -class parserinfo(object): - """ - Class which handles what inputs are accepted. Subclass this to customize - the language and acceptable values for each parameter. - - :param dayfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the day (``True``) or month (``False``). If - ``yearfirst`` is set to ``True``, this distinguishes between YDM - and YMD. Default is ``False``. - - :param yearfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the year. If ``True``, the first number is taken - to be the year, otherwise the last number is taken to be the year. - Default is ``False``. - """ - - # m from a.m/p.m, t from ISO T separator - JUMP = [" ", ".", ",", ";", "-", "/", "'", - "at", "on", "and", "ad", "m", "t", "of", - "st", "nd", "rd", "th"] - - WEEKDAYS = [("Mon", "Monday"), - ("Tue", "Tuesday"), # TODO: "Tues" - ("Wed", "Wednesday"), - ("Thu", "Thursday"), # TODO: "Thurs" - ("Fri", "Friday"), - ("Sat", "Saturday"), - ("Sun", "Sunday")] - MONTHS = [("Jan", "January"), - ("Feb", "February"), # TODO: "Febr" - ("Mar", "March"), - ("Apr", "April"), - ("May", "May"), - ("Jun", "June"), - ("Jul", "July"), - ("Aug", "August"), - ("Sep", "Sept", "September"), - ("Oct", "October"), - ("Nov", "November"), - ("Dec", "December")] - HMS = [("h", "hour", "hours"), - ("m", "minute", "minutes"), - ("s", "second", "seconds")] - AMPM = [("am", "a"), - ("pm", "p")] - UTCZONE = ["UTC", "GMT", "Z", "z"] - PERTAIN = ["of"] - TZOFFSET = {} - # TODO: ERA = ["AD", "BC", "CE", "BCE", "Stardate", - # "Anno Domini", "Year of Our Lord"] - - def __init__(self, dayfirst=False, yearfirst=False): - self._jump = self._convert(self.JUMP) - self._weekdays = self._convert(self.WEEKDAYS) - self._months = self._convert(self.MONTHS) - self._hms = self._convert(self.HMS) - self._ampm = self._convert(self.AMPM) - self._utczone = self._convert(self.UTCZONE) - self._pertain = self._convert(self.PERTAIN) - - self.dayfirst = dayfirst - self.yearfirst = yearfirst - - self._year = time.localtime().tm_year - self._century = self._year // 100 * 100 - - def _convert(self, lst): - dct = {} - for i, v in enumerate(lst): - if isinstance(v, tuple): - for v in v: - dct[v.lower()] = i - else: - dct[v.lower()] = i - return dct - - def jump(self, name): - return name.lower() in self._jump - - def weekday(self, name): - try: - return self._weekdays[name.lower()] - except KeyError: - pass - return None - - def month(self, name): - try: - return self._months[name.lower()] + 1 - except KeyError: - pass - return None - - def hms(self, name): - try: - return self._hms[name.lower()] - except KeyError: - return None - - def ampm(self, name): - try: - return self._ampm[name.lower()] - except KeyError: - return None - - def pertain(self, name): - return name.lower() in self._pertain - - def utczone(self, name): - return name.lower() in self._utczone - - def tzoffset(self, name): - if name in self._utczone: - return 0 - - return self.TZOFFSET.get(name) - - def convertyear(self, year, century_specified=False): - """ - Converts two-digit years to year within [-50, 49] - range of self._year (current local time) - """ - - # Function contract is that the year is always positive - assert year >= 0 - - if year < 100 and not century_specified: - # assume current century to start - year += self._century - - if year >= self._year + 50: # if too far in future - year -= 100 - elif year < self._year - 50: # if too far in past - year += 100 - - return year - - def validate(self, res): - # move to info - if res.year is not None: - res.year = self.convertyear(res.year, res.century_specified) - - if ((res.tzoffset == 0 and not res.tzname) or - (res.tzname == 'Z' or res.tzname == 'z')): - res.tzname = "UTC" - res.tzoffset = 0 - elif res.tzoffset != 0 and res.tzname and self.utczone(res.tzname): - res.tzoffset = 0 - return True - - -class _ymd(list): - def __init__(self, *args, **kwargs): - super(self.__class__, self).__init__(*args, **kwargs) - self.century_specified = False - self.dstridx = None - self.mstridx = None - self.ystridx = None - - @property - def has_year(self): - return self.ystridx is not None - - @property - def has_month(self): - return self.mstridx is not None - - @property - def has_day(self): - return self.dstridx is not None - - def could_be_day(self, value): - if self.has_day: - return False - elif not self.has_month: - return 1 <= value <= 31 - elif not self.has_year: - # Be permissive, assume leap year - month = self[self.mstridx] - return 1 <= value <= monthrange(2000, month)[1] - else: - month = self[self.mstridx] - year = self[self.ystridx] - return 1 <= value <= monthrange(year, month)[1] - - def append(self, val, label=None): - if hasattr(val, '__len__'): - if val.isdigit() and len(val) > 2: - self.century_specified = True - if label not in [None, 'Y']: # pragma: no cover - raise ValueError(label) - label = 'Y' - elif val > 100: - self.century_specified = True - if label not in [None, 'Y']: # pragma: no cover - raise ValueError(label) - label = 'Y' - - super(self.__class__, self).append(int(val)) - - if label == 'M': - if self.has_month: - raise ValueError('Month is already set') - self.mstridx = len(self) - 1 - elif label == 'D': - if self.has_day: - raise ValueError('Day is already set') - self.dstridx = len(self) - 1 - elif label == 'Y': - if self.has_year: - raise ValueError('Year is already set') - self.ystridx = len(self) - 1 - - def _resolve_from_stridxs(self, strids): - """ - Try to resolve the identities of year/month/day elements using - ystridx, mstridx, and dstridx, if enough of these are specified. - """ - if len(self) == 3 and len(strids) == 2: - # we can back out the remaining stridx value - missing = [x for x in range(3) if x not in strids.values()] - key = [x for x in ['y', 'm', 'd'] if x not in strids] - assert len(missing) == len(key) == 1 - key = key[0] - val = missing[0] - strids[key] = val - - assert len(self) == len(strids) # otherwise this should not be called - out = {key: self[strids[key]] for key in strids} - return (out.get('y'), out.get('m'), out.get('d')) - - def resolve_ymd(self, yearfirst, dayfirst): - len_ymd = len(self) - year, month, day = (None, None, None) - - strids = (('y', self.ystridx), - ('m', self.mstridx), - ('d', self.dstridx)) - - strids = {key: val for key, val in strids if val is not None} - if (len(self) == len(strids) > 0 or - (len(self) == 3 and len(strids) == 2)): - return self._resolve_from_stridxs(strids) - - mstridx = self.mstridx - - if len_ymd > 3: - raise ValueError("More than three YMD values") - elif len_ymd == 1 or (mstridx is not None and len_ymd == 2): - # One member, or two members with a month string - if mstridx is not None: - month = self[mstridx] - # since mstridx is 0 or 1, self[mstridx-1] always - # looks up the other element - other = self[mstridx - 1] - else: - other = self[0] - - if len_ymd > 1 or mstridx is None: - if other > 31: - year = other - else: - day = other - - elif len_ymd == 2: - # Two members with numbers - if self[0] > 31: - # 99-01 - year, month = self - elif self[1] > 31: - # 01-99 - month, year = self - elif dayfirst and self[1] <= 12: - # 13-01 - day, month = self - else: - # 01-13 - month, day = self - - elif len_ymd == 3: - # Three members - if mstridx == 0: - if self[1] > 31: - # Apr-2003-25 - month, year, day = self - else: - month, day, year = self - elif mstridx == 1: - if self[0] > 31 or (yearfirst and self[2] <= 31): - # 99-Jan-01 - year, month, day = self - else: - # 01-Jan-01 - # Give precedence to day-first, since - # two-digit years is usually hand-written. - day, month, year = self - - elif mstridx == 2: - # WTF!? - if self[1] > 31: - # 01-99-Jan - day, year, month = self - else: - # 99-01-Jan - year, day, month = self - - else: - if (self[0] > 31 or - self.ystridx == 0 or - (yearfirst and self[1] <= 12 and self[2] <= 31)): - # 99-01-01 - if dayfirst and self[2] <= 12: - year, day, month = self - else: - year, month, day = self - elif self[0] > 12 or (dayfirst and self[1] <= 12): - # 13-01-01 - day, month, year = self - else: - # 01-13-01 - month, day, year = self - - return year, month, day - - -class parser(object): - def __init__(self, info=None): - self.info = info or parserinfo() - - def parse(self, timestr, default=None, - ignoretz=False, tzinfos=None, **kwargs): - """ - Parse the date/time string into a :class:`datetime.datetime` object. - - :param timestr: - Any date/time string using the supported formats. - - :param default: - The default datetime object, if this is a datetime object and not - ``None``, elements specified in ``timestr`` replace elements in the - default object. - - :param ignoretz: - If set ``True``, time zones in parsed strings are ignored and a - naive :class:`datetime.datetime` object is returned. - - :param tzinfos: - Additional time zone names / aliases which may be present in the - string. This argument maps time zone names (and optionally offsets - from those time zones) to time zones. This parameter can be a - dictionary with timezone aliases mapping time zone names to time - zones or a function taking two parameters (``tzname`` and - ``tzoffset``) and returning a time zone. - - The timezones to which the names are mapped can be an integer - offset from UTC in seconds or a :class:`tzinfo` object. - - .. doctest:: - :options: +NORMALIZE_WHITESPACE - - >>> from dateutil.parser import parse - >>> from dateutil.tz import gettz - >>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")} - >>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos) - datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200)) - >>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos) - datetime.datetime(2012, 1, 19, 17, 21, - tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago')) - - This parameter is ignored if ``ignoretz`` is set. - - :param \\*\\*kwargs: - Keyword arguments as passed to ``_parse()``. - - :return: - Returns a :class:`datetime.datetime` object or, if the - ``fuzzy_with_tokens`` option is ``True``, returns a tuple, the - first element being a :class:`datetime.datetime` object, the second - a tuple containing the fuzzy tokens. - - :raises ParserError: - Raised for invalid or unknown string format, if the provided - :class:`tzinfo` is not in a valid format, or if an invalid date - would be created. - - :raises TypeError: - Raised for non-string or character stream input. - - :raises OverflowError: - Raised if the parsed date exceeds the largest valid C integer on - your system. - """ - - if default is None: - default = datetime.datetime.now().replace(hour=0, minute=0, - second=0, microsecond=0) - - res, skipped_tokens = self._parse(timestr, **kwargs) - - if res is None: - raise ParserError("Unknown string format: %s", timestr) - - if len(res) == 0: - raise ParserError("String does not contain a date: %s", timestr) - - try: - ret = self._build_naive(res, default) - except ValueError as e: - six.raise_from(ParserError(str(e) + ": %s", timestr), e) - - if not ignoretz: - ret = self._build_tzaware(ret, res, tzinfos) - - if kwargs.get('fuzzy_with_tokens', False): - return ret, skipped_tokens - else: - return ret - - class _result(_resultbase): - __slots__ = ["year", "month", "day", "weekday", - "hour", "minute", "second", "microsecond", - "tzname", "tzoffset", "ampm","any_unused_tokens"] - - def _parse(self, timestr, dayfirst=None, yearfirst=None, fuzzy=False, - fuzzy_with_tokens=False): - """ - Private method which performs the heavy lifting of parsing, called from - ``parse()``, which passes on its ``kwargs`` to this function. - - :param timestr: - The string to parse. - - :param dayfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the day (``True``) or month (``False``). If - ``yearfirst`` is set to ``True``, this distinguishes between YDM - and YMD. If set to ``None``, this value is retrieved from the - current :class:`parserinfo` object (which itself defaults to - ``False``). - - :param yearfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the year. If ``True``, the first number is taken - to be the year, otherwise the last number is taken to be the year. - If this is set to ``None``, the value is retrieved from the current - :class:`parserinfo` object (which itself defaults to ``False``). - - :param fuzzy: - Whether to allow fuzzy parsing, allowing for string like "Today is - January 1, 2047 at 8:21:00AM". - - :param fuzzy_with_tokens: - If ``True``, ``fuzzy`` is automatically set to True, and the parser - will return a tuple where the first element is the parsed - :class:`datetime.datetime` datetimestamp and the second element is - a tuple containing the portions of the string which were ignored: - - .. doctest:: - - >>> from dateutil.parser import parse - >>> parse("Today is January 1, 2047 at 8:21:00AM", fuzzy_with_tokens=True) - (datetime.datetime(2047, 1, 1, 8, 21), (u'Today is ', u' ', u'at ')) - - """ - if fuzzy_with_tokens: - fuzzy = True - - info = self.info - - if dayfirst is None: - dayfirst = info.dayfirst - - if yearfirst is None: - yearfirst = info.yearfirst - - res = self._result() - l = _timelex.split(timestr) # Splits the timestr into tokens - - skipped_idxs = [] - - # year/month/day list - ymd = _ymd() - - len_l = len(l) - i = 0 - try: - while i < len_l: - - # Check if it's a number - value_repr = l[i] - try: - value = float(value_repr) - except ValueError: - value = None - - if value is not None: - # Numeric token - i = self._parse_numeric_token(l, i, info, ymd, res, fuzzy) - - # Check weekday - elif info.weekday(l[i]) is not None: - value = info.weekday(l[i]) - res.weekday = value - - # Check month name - elif info.month(l[i]) is not None: - value = info.month(l[i]) - ymd.append(value, 'M') - - if i + 1 < len_l: - if l[i + 1] in ('-', '/'): - # Jan-01[-99] - sep = l[i + 1] - ymd.append(l[i + 2]) - - if i + 3 < len_l and l[i + 3] == sep: - # Jan-01-99 - ymd.append(l[i + 4]) - i += 2 - - i += 2 - - elif (i + 4 < len_l and l[i + 1] == l[i + 3] == ' ' and - info.pertain(l[i + 2])): - # Jan of 01 - # In this case, 01 is clearly year - if l[i + 4].isdigit(): - # Convert it here to become unambiguous - value = int(l[i + 4]) - year = str(info.convertyear(value)) - ymd.append(year, 'Y') - else: - # Wrong guess - pass - # TODO: not hit in tests - i += 4 - - # Check am/pm - elif info.ampm(l[i]) is not None: - value = info.ampm(l[i]) - val_is_ampm = self._ampm_valid(res.hour, res.ampm, fuzzy) - - if val_is_ampm: - res.hour = self._adjust_ampm(res.hour, value) - res.ampm = value - - elif fuzzy: - skipped_idxs.append(i) - - # Check for a timezone name - elif self._could_be_tzname(res.hour, res.tzname, res.tzoffset, l[i]): - res.tzname = l[i] - res.tzoffset = info.tzoffset(res.tzname) - - # Check for something like GMT+3, or BRST+3. Notice - # that it doesn't mean "I am 3 hours after GMT", but - # "my time +3 is GMT". If found, we reverse the - # logic so that timezone parsing code will get it - # right. - if i + 1 < len_l and l[i + 1] in ('+', '-'): - l[i + 1] = ('+', '-')[l[i + 1] == '+'] - res.tzoffset = None - if info.utczone(res.tzname): - # With something like GMT+3, the timezone - # is *not* GMT. - res.tzname = None - - # Check for a numbered timezone - elif res.hour is not None and l[i] in ('+', '-'): - signal = (-1, 1)[l[i] == '+'] - len_li = len(l[i + 1]) - - # TODO: check that l[i + 1] is integer? - if len_li == 4: - # -0300 - hour_offset = int(l[i + 1][:2]) - min_offset = int(l[i + 1][2:]) - elif i + 2 < len_l and l[i + 2] == ':': - # -03:00 - hour_offset = int(l[i + 1]) - min_offset = int(l[i + 3]) # TODO: Check that l[i+3] is minute-like? - i += 2 - elif len_li <= 2: - # -[0]3 - hour_offset = int(l[i + 1][:2]) - min_offset = 0 - else: - raise ValueError(timestr) - - res.tzoffset = signal * (hour_offset * 3600 + min_offset * 60) - - # Look for a timezone name between parenthesis - if (i + 5 < len_l and - info.jump(l[i + 2]) and l[i + 3] == '(' and - l[i + 5] == ')' and - 3 <= len(l[i + 4]) and - self._could_be_tzname(res.hour, res.tzname, - None, l[i + 4])): - # -0300 (BRST) - res.tzname = l[i + 4] - i += 4 - - i += 1 - - # Check jumps - elif not (info.jump(l[i]) or fuzzy): - raise ValueError(timestr) - - else: - skipped_idxs.append(i) - i += 1 - - # Process year/month/day - year, month, day = ymd.resolve_ymd(yearfirst, dayfirst) - - res.century_specified = ymd.century_specified - res.year = year - res.month = month - res.day = day - - except (IndexError, ValueError): - return None, None - - if not info.validate(res): - return None, None - - if fuzzy_with_tokens: - skipped_tokens = self._recombine_skipped(l, skipped_idxs) - return res, tuple(skipped_tokens) - else: - return res, None - - def _parse_numeric_token(self, tokens, idx, info, ymd, res, fuzzy): - # Token is a number - value_repr = tokens[idx] - try: - value = self._to_decimal(value_repr) - except Exception as e: - six.raise_from(ValueError('Unknown numeric token'), e) - - len_li = len(value_repr) - - len_l = len(tokens) - - if (len(ymd) == 3 and len_li in (2, 4) and - res.hour is None and - (idx + 1 >= len_l or - (tokens[idx + 1] != ':' and - info.hms(tokens[idx + 1]) is None))): - # 19990101T23[59] - s = tokens[idx] - res.hour = int(s[:2]) - - if len_li == 4: - res.minute = int(s[2:]) - - elif len_li == 6 or (len_li > 6 and tokens[idx].find('.') == 6): - # YYMMDD or HHMMSS[.ss] - s = tokens[idx] - - if not ymd and '.' not in tokens[idx]: - ymd.append(s[:2]) - ymd.append(s[2:4]) - ymd.append(s[4:]) - else: - # 19990101T235959[.59] - - # TODO: Check if res attributes already set. - res.hour = int(s[:2]) - res.minute = int(s[2:4]) - res.second, res.microsecond = self._parsems(s[4:]) - - elif len_li in (8, 12, 14): - # YYYYMMDD - s = tokens[idx] - ymd.append(s[:4], 'Y') - ymd.append(s[4:6]) - ymd.append(s[6:8]) - - if len_li > 8: - res.hour = int(s[8:10]) - res.minute = int(s[10:12]) - - if len_li > 12: - res.second = int(s[12:]) - - elif self._find_hms_idx(idx, tokens, info, allow_jump=True) is not None: - # HH[ ]h or MM[ ]m or SS[.ss][ ]s - hms_idx = self._find_hms_idx(idx, tokens, info, allow_jump=True) - (idx, hms) = self._parse_hms(idx, tokens, info, hms_idx) - if hms is not None: - # TODO: checking that hour/minute/second are not - # already set? - self._assign_hms(res, value_repr, hms) - - elif idx + 2 < len_l and tokens[idx + 1] == ':': - # HH:MM[:SS[.ss]] - res.hour = int(value) - value = self._to_decimal(tokens[idx + 2]) # TODO: try/except for this? - (res.minute, res.second) = self._parse_min_sec(value) - - if idx + 4 < len_l and tokens[idx + 3] == ':': - res.second, res.microsecond = self._parsems(tokens[idx + 4]) - - idx += 2 - - idx += 2 - - elif idx + 1 < len_l and tokens[idx + 1] in ('-', '/', '.'): - sep = tokens[idx + 1] - ymd.append(value_repr) - - if idx + 2 < len_l and not info.jump(tokens[idx + 2]): - if tokens[idx + 2].isdigit(): - # 01-01[-01] - ymd.append(tokens[idx + 2]) - else: - # 01-Jan[-01] - value = info.month(tokens[idx + 2]) - - if value is not None: - ymd.append(value, 'M') - else: - raise ValueError() - - if idx + 3 < len_l and tokens[idx + 3] == sep: - # We have three members - value = info.month(tokens[idx + 4]) - - if value is not None: - ymd.append(value, 'M') - else: - ymd.append(tokens[idx + 4]) - idx += 2 - - idx += 1 - idx += 1 - - elif idx + 1 >= len_l or info.jump(tokens[idx + 1]): - if idx + 2 < len_l and info.ampm(tokens[idx + 2]) is not None: - # 12 am - hour = int(value) - res.hour = self._adjust_ampm(hour, info.ampm(tokens[idx + 2])) - idx += 1 - else: - # Year, month or day - ymd.append(value) - idx += 1 - - elif info.ampm(tokens[idx + 1]) is not None and (0 <= value < 24): - # 12am - hour = int(value) - res.hour = self._adjust_ampm(hour, info.ampm(tokens[idx + 1])) - idx += 1 - - elif ymd.could_be_day(value): - ymd.append(value) - - elif not fuzzy: - raise ValueError() - - return idx - - def _find_hms_idx(self, idx, tokens, info, allow_jump): - len_l = len(tokens) - - if idx+1 < len_l and info.hms(tokens[idx+1]) is not None: - # There is an "h", "m", or "s" label following this token. We take - # assign the upcoming label to the current token. - # e.g. the "12" in 12h" - hms_idx = idx + 1 - - elif (allow_jump and idx+2 < len_l and tokens[idx+1] == ' ' and - info.hms(tokens[idx+2]) is not None): - # There is a space and then an "h", "m", or "s" label. - # e.g. the "12" in "12 h" - hms_idx = idx + 2 - - elif idx > 0 and info.hms(tokens[idx-1]) is not None: - # There is a "h", "m", or "s" preceding this token. Since neither - # of the previous cases was hit, there is no label following this - # token, so we use the previous label. - # e.g. the "04" in "12h04" - hms_idx = idx-1 - - elif (1 < idx == len_l-1 and tokens[idx-1] == ' ' and - info.hms(tokens[idx-2]) is not None): - # If we are looking at the final token, we allow for a - # backward-looking check to skip over a space. - # TODO: Are we sure this is the right condition here? - hms_idx = idx - 2 - - else: - hms_idx = None - - return hms_idx - - def _assign_hms(self, res, value_repr, hms): - # See GH issue #427, fixing float rounding - value = self._to_decimal(value_repr) - - if hms == 0: - # Hour - res.hour = int(value) - if value % 1: - res.minute = int(60*(value % 1)) - - elif hms == 1: - (res.minute, res.second) = self._parse_min_sec(value) - - elif hms == 2: - (res.second, res.microsecond) = self._parsems(value_repr) - - def _could_be_tzname(self, hour, tzname, tzoffset, token): - return (hour is not None and - tzname is None and - tzoffset is None and - len(token) <= 5 and - (all(x in string.ascii_uppercase for x in token) - or token in self.info.UTCZONE)) - - def _ampm_valid(self, hour, ampm, fuzzy): - """ - For fuzzy parsing, 'a' or 'am' (both valid English words) - may erroneously trigger the AM/PM flag. Deal with that - here. - """ - val_is_ampm = True - - # If there's already an AM/PM flag, this one isn't one. - if fuzzy and ampm is not None: - val_is_ampm = False - - # If AM/PM is found and hour is not, raise a ValueError - if hour is None: - if fuzzy: - val_is_ampm = False - else: - raise ValueError('No hour specified with AM or PM flag.') - elif not 0 <= hour <= 12: - # If AM/PM is found, it's a 12 hour clock, so raise - # an error for invalid range - if fuzzy: - val_is_ampm = False - else: - raise ValueError('Invalid hour specified for 12-hour clock.') - - return val_is_ampm - - def _adjust_ampm(self, hour, ampm): - if hour < 12 and ampm == 1: - hour += 12 - elif hour == 12 and ampm == 0: - hour = 0 - return hour - - def _parse_min_sec(self, value): - # TODO: Every usage of this function sets res.second to the return - # value. Are there any cases where second will be returned as None and - # we *don't* want to set res.second = None? - minute = int(value) - second = None - - sec_remainder = value % 1 - if sec_remainder: - second = int(60 * sec_remainder) - return (minute, second) - - def _parse_hms(self, idx, tokens, info, hms_idx): - # TODO: Is this going to admit a lot of false-positives for when we - # just happen to have digits and "h", "m" or "s" characters in non-date - # text? I guess hex hashes won't have that problem, but there's plenty - # of random junk out there. - if hms_idx is None: - hms = None - new_idx = idx - elif hms_idx > idx: - hms = info.hms(tokens[hms_idx]) - new_idx = hms_idx - else: - # Looking backwards, increment one. - hms = info.hms(tokens[hms_idx]) + 1 - new_idx = idx - - return (new_idx, hms) - - # ------------------------------------------------------------------ - # Handling for individual tokens. These are kept as methods instead - # of functions for the sake of customizability via subclassing. - - def _parsems(self, value): - """Parse a I[.F] seconds value into (seconds, microseconds).""" - if "." not in value: - return int(value), 0 - else: - i, f = value.split(".") - return int(i), int(f.ljust(6, "0")[:6]) - - def _to_decimal(self, val): - try: - decimal_value = Decimal(val) - # See GH 662, edge case, infinite value should not be converted - # via `_to_decimal` - if not decimal_value.is_finite(): - raise ValueError("Converted decimal value is infinite or NaN") - except Exception as e: - msg = "Could not convert %s to decimal" % val - six.raise_from(ValueError(msg), e) - else: - return decimal_value - - # ------------------------------------------------------------------ - # Post-Parsing construction of datetime output. These are kept as - # methods instead of functions for the sake of customizability via - # subclassing. - - def _build_tzinfo(self, tzinfos, tzname, tzoffset): - if callable(tzinfos): - tzdata = tzinfos(tzname, tzoffset) - else: - tzdata = tzinfos.get(tzname) - # handle case where tzinfo is paased an options that returns None - # eg tzinfos = {'BRST' : None} - if isinstance(tzdata, datetime.tzinfo) or tzdata is None: - tzinfo = tzdata - elif isinstance(tzdata, text_type): - tzinfo = tz.tzstr(tzdata) - elif isinstance(tzdata, integer_types): - tzinfo = tz.tzoffset(tzname, tzdata) - else: - raise TypeError("Offset must be tzinfo subclass, tz string, " - "or int offset.") - return tzinfo - - def _build_tzaware(self, naive, res, tzinfos): - if (callable(tzinfos) or (tzinfos and res.tzname in tzinfos)): - tzinfo = self._build_tzinfo(tzinfos, res.tzname, res.tzoffset) - aware = naive.replace(tzinfo=tzinfo) - aware = self._assign_tzname(aware, res.tzname) - - elif res.tzname and res.tzname in time.tzname: - aware = naive.replace(tzinfo=tz.tzlocal()) - - # Handle ambiguous local datetime - aware = self._assign_tzname(aware, res.tzname) - - # This is mostly relevant for winter GMT zones parsed in the UK - if (aware.tzname() != res.tzname and - res.tzname in self.info.UTCZONE): - aware = aware.replace(tzinfo=tz.UTC) - - elif res.tzoffset == 0: - aware = naive.replace(tzinfo=tz.UTC) - - elif res.tzoffset: - aware = naive.replace(tzinfo=tz.tzoffset(res.tzname, res.tzoffset)) - - elif not res.tzname and not res.tzoffset: - # i.e. no timezone information was found. - aware = naive - - elif res.tzname: - # tz-like string was parsed but we don't know what to do - # with it - warnings.warn("tzname {tzname} identified but not understood. " - "Pass `tzinfos` argument in order to correctly " - "return a timezone-aware datetime. In a future " - "version, this will raise an " - "exception.".format(tzname=res.tzname), - category=UnknownTimezoneWarning) - aware = naive - - return aware - - def _build_naive(self, res, default): - repl = {} - for attr in ("year", "month", "day", "hour", - "minute", "second", "microsecond"): - value = getattr(res, attr) - if value is not None: - repl[attr] = value - - if 'day' not in repl: - # If the default day exceeds the last day of the month, fall back - # to the end of the month. - cyear = default.year if res.year is None else res.year - cmonth = default.month if res.month is None else res.month - cday = default.day if res.day is None else res.day - - if cday > monthrange(cyear, cmonth)[1]: - repl['day'] = monthrange(cyear, cmonth)[1] - - naive = default.replace(**repl) - - if res.weekday is not None and not res.day: - naive = naive + relativedelta.relativedelta(weekday=res.weekday) - - return naive - - def _assign_tzname(self, dt, tzname): - if dt.tzname() != tzname: - new_dt = tz.enfold(dt, fold=1) - if new_dt.tzname() == tzname: - return new_dt - - return dt - - def _recombine_skipped(self, tokens, skipped_idxs): - """ - >>> tokens = ["foo", " ", "bar", " ", "19June2000", "baz"] - >>> skipped_idxs = [0, 1, 2, 5] - >>> _recombine_skipped(tokens, skipped_idxs) - ["foo bar", "baz"] - """ - skipped_tokens = [] - for i, idx in enumerate(sorted(skipped_idxs)): - if i > 0 and idx - 1 == skipped_idxs[i - 1]: - skipped_tokens[-1] = skipped_tokens[-1] + tokens[idx] - else: - skipped_tokens.append(tokens[idx]) - - return skipped_tokens - - -DEFAULTPARSER = parser() - - -def parse(timestr, parserinfo=None, **kwargs): - """ - - Parse a string in one of the supported formats, using the - ``parserinfo`` parameters. - - :param timestr: - A string containing a date/time stamp. - - :param parserinfo: - A :class:`parserinfo` object containing parameters for the parser. - If ``None``, the default arguments to the :class:`parserinfo` - constructor are used. - - The ``**kwargs`` parameter takes the following keyword arguments: - - :param default: - The default datetime object, if this is a datetime object and not - ``None``, elements specified in ``timestr`` replace elements in the - default object. - - :param ignoretz: - If set ``True``, time zones in parsed strings are ignored and a naive - :class:`datetime` object is returned. - - :param tzinfos: - Additional time zone names / aliases which may be present in the - string. This argument maps time zone names (and optionally offsets - from those time zones) to time zones. This parameter can be a - dictionary with timezone aliases mapping time zone names to time - zones or a function taking two parameters (``tzname`` and - ``tzoffset``) and returning a time zone. - - The timezones to which the names are mapped can be an integer - offset from UTC in seconds or a :class:`tzinfo` object. - - .. doctest:: - :options: +NORMALIZE_WHITESPACE - - >>> from dateutil.parser import parse - >>> from dateutil.tz import gettz - >>> tzinfos = {"BRST": -7200, "CST": gettz("America/Chicago")} - >>> parse("2012-01-19 17:21:00 BRST", tzinfos=tzinfos) - datetime.datetime(2012, 1, 19, 17, 21, tzinfo=tzoffset(u'BRST', -7200)) - >>> parse("2012-01-19 17:21:00 CST", tzinfos=tzinfos) - datetime.datetime(2012, 1, 19, 17, 21, - tzinfo=tzfile('/usr/share/zoneinfo/America/Chicago')) - - This parameter is ignored if ``ignoretz`` is set. - - :param dayfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the day (``True``) or month (``False``). If - ``yearfirst`` is set to ``True``, this distinguishes between YDM and - YMD. If set to ``None``, this value is retrieved from the current - :class:`parserinfo` object (which itself defaults to ``False``). - - :param yearfirst: - Whether to interpret the first value in an ambiguous 3-integer date - (e.g. 01/05/09) as the year. If ``True``, the first number is taken to - be the year, otherwise the last number is taken to be the year. If - this is set to ``None``, the value is retrieved from the current - :class:`parserinfo` object (which itself defaults to ``False``). - - :param fuzzy: - Whether to allow fuzzy parsing, allowing for string like "Today is - January 1, 2047 at 8:21:00AM". - - :param fuzzy_with_tokens: - If ``True``, ``fuzzy`` is automatically set to True, and the parser - will return a tuple where the first element is the parsed - :class:`datetime.datetime` datetimestamp and the second element is - a tuple containing the portions of the string which were ignored: - - .. doctest:: - - >>> from dateutil.parser import parse - >>> parse("Today is January 1, 2047 at 8:21:00AM", fuzzy_with_tokens=True) - (datetime.datetime(2047, 1, 1, 8, 21), (u'Today is ', u' ', u'at ')) - - :return: - Returns a :class:`datetime.datetime` object or, if the - ``fuzzy_with_tokens`` option is ``True``, returns a tuple, the - first element being a :class:`datetime.datetime` object, the second - a tuple containing the fuzzy tokens. - - :raises ParserError: - Raised for invalid or unknown string formats, if the provided - :class:`tzinfo` is not in a valid format, or if an invalid date would - be created. - - :raises OverflowError: - Raised if the parsed date exceeds the largest valid C integer on - your system. - """ - if parserinfo: - return parser(parserinfo).parse(timestr, **kwargs) - else: - return DEFAULTPARSER.parse(timestr, **kwargs) - - -class _tzparser(object): - - class _result(_resultbase): - - __slots__ = ["stdabbr", "stdoffset", "dstabbr", "dstoffset", - "start", "end"] - - class _attr(_resultbase): - __slots__ = ["month", "week", "weekday", - "yday", "jyday", "day", "time"] - - def __repr__(self): - return self._repr("") - - def __init__(self): - _resultbase.__init__(self) - self.start = self._attr() - self.end = self._attr() - - def parse(self, tzstr): - res = self._result() - l = [x for x in re.split(r'([,:.]|[a-zA-Z]+|[0-9]+)',tzstr) if x] - used_idxs = list() - try: - - len_l = len(l) - - i = 0 - while i < len_l: - # BRST+3[BRDT[+2]] - j = i - while j < len_l and not [x for x in l[j] - if x in "0123456789:,-+"]: - j += 1 - if j != i: - if not res.stdabbr: - offattr = "stdoffset" - res.stdabbr = "".join(l[i:j]) - else: - offattr = "dstoffset" - res.dstabbr = "".join(l[i:j]) - - for ii in range(j): - used_idxs.append(ii) - i = j - if (i < len_l and (l[i] in ('+', '-') or l[i][0] in - "0123456789")): - if l[i] in ('+', '-'): - # Yes, that's right. See the TZ variable - # documentation. - signal = (1, -1)[l[i] == '+'] - used_idxs.append(i) - i += 1 - else: - signal = -1 - len_li = len(l[i]) - if len_li == 4: - # -0300 - setattr(res, offattr, (int(l[i][:2]) * 3600 + - int(l[i][2:]) * 60) * signal) - elif i + 1 < len_l and l[i + 1] == ':': - # -03:00 - setattr(res, offattr, - (int(l[i]) * 3600 + - int(l[i + 2]) * 60) * signal) - used_idxs.append(i) - i += 2 - elif len_li <= 2: - # -[0]3 - setattr(res, offattr, - int(l[i][:2]) * 3600 * signal) - else: - return None - used_idxs.append(i) - i += 1 - if res.dstabbr: - break - else: - break - - - if i < len_l: - for j in range(i, len_l): - if l[j] == ';': - l[j] = ',' - - assert l[i] == ',' - - i += 1 - - if i >= len_l: - pass - elif (8 <= l.count(',') <= 9 and - not [y for x in l[i:] if x != ',' - for y in x if y not in "0123456789+-"]): - # GMT0BST,3,0,30,3600,10,0,26,7200[,3600] - for x in (res.start, res.end): - x.month = int(l[i]) - used_idxs.append(i) - i += 2 - if l[i] == '-': - value = int(l[i + 1]) * -1 - used_idxs.append(i) - i += 1 - else: - value = int(l[i]) - used_idxs.append(i) - i += 2 - if value: - x.week = value - x.weekday = (int(l[i]) - 1) % 7 - else: - x.day = int(l[i]) - used_idxs.append(i) - i += 2 - x.time = int(l[i]) - used_idxs.append(i) - i += 2 - if i < len_l: - if l[i] in ('-', '+'): - signal = (-1, 1)[l[i] == "+"] - used_idxs.append(i) - i += 1 - else: - signal = 1 - used_idxs.append(i) - res.dstoffset = (res.stdoffset + int(l[i]) * signal) - - # This was a made-up format that is not in normal use - warn(('Parsed time zone "%s"' % tzstr) + - 'is in a non-standard dateutil-specific format, which ' + - 'is now deprecated; support for parsing this format ' + - 'will be removed in future versions. It is recommended ' + - 'that you switch to a standard format like the GNU ' + - 'TZ variable format.', tz.DeprecatedTzFormatWarning) - elif (l.count(',') == 2 and l[i:].count('/') <= 2 and - not [y for x in l[i:] if x not in (',', '/', 'J', 'M', - '.', '-', ':') - for y in x if y not in "0123456789"]): - for x in (res.start, res.end): - if l[i] == 'J': - # non-leap year day (1 based) - used_idxs.append(i) - i += 1 - x.jyday = int(l[i]) - elif l[i] == 'M': - # month[-.]week[-.]weekday - used_idxs.append(i) - i += 1 - x.month = int(l[i]) - used_idxs.append(i) - i += 1 - assert l[i] in ('-', '.') - used_idxs.append(i) - i += 1 - x.week = int(l[i]) - if x.week == 5: - x.week = -1 - used_idxs.append(i) - i += 1 - assert l[i] in ('-', '.') - used_idxs.append(i) - i += 1 - x.weekday = (int(l[i]) - 1) % 7 - else: - # year day (zero based) - x.yday = int(l[i]) + 1 - - used_idxs.append(i) - i += 1 - - if i < len_l and l[i] == '/': - used_idxs.append(i) - i += 1 - # start time - len_li = len(l[i]) - if len_li == 4: - # -0300 - x.time = (int(l[i][:2]) * 3600 + - int(l[i][2:]) * 60) - elif i + 1 < len_l and l[i + 1] == ':': - # -03:00 - x.time = int(l[i]) * 3600 + int(l[i + 2]) * 60 - used_idxs.append(i) - i += 2 - if i + 1 < len_l and l[i + 1] == ':': - used_idxs.append(i) - i += 2 - x.time += int(l[i]) - elif len_li <= 2: - # -[0]3 - x.time = (int(l[i][:2]) * 3600) - else: - return None - used_idxs.append(i) - i += 1 - - assert i == len_l or l[i] == ',' - - i += 1 - - assert i >= len_l - - except (IndexError, ValueError, AssertionError): - return None - - unused_idxs = set(range(len_l)).difference(used_idxs) - res.any_unused_tokens = not {l[n] for n in unused_idxs}.issubset({",",":"}) - return res - - -DEFAULTTZPARSER = _tzparser() - - -def _parsetz(tzstr): - return DEFAULTTZPARSER.parse(tzstr) - - -class ParserError(ValueError): - """Exception subclass used for any failure to parse a datetime string. - - This is a subclass of :py:exc:`ValueError`, and should be raised any time - earlier versions of ``dateutil`` would have raised ``ValueError``. - - .. versionadded:: 2.8.1 - """ - def __str__(self): - try: - return self.args[0] % self.args[1:] - except (TypeError, IndexError): - return super(ParserError, self).__str__() - - def __repr__(self): - args = ", ".join("'%s'" % arg for arg in self.args) - return "%s(%s)" % (self.__class__.__name__, args) - - -class UnknownTimezoneWarning(RuntimeWarning): - """Raised when the parser finds a timezone it cannot parse into a tzinfo. - - .. versionadded:: 2.7.0 - """ -# vim:ts=4:sw=4:et diff --git a/venv/lib/python3.11/site-packages/dateutil/parser/isoparser.py b/venv/lib/python3.11/site-packages/dateutil/parser/isoparser.py deleted file mode 100644 index 7060087..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/parser/isoparser.py +++ /dev/null @@ -1,416 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module offers a parser for ISO-8601 strings - -It is intended to support all valid date, time and datetime formats per the -ISO-8601 specification. - -..versionadded:: 2.7.0 -""" -from datetime import datetime, timedelta, time, date -import calendar -from dateutil import tz - -from functools import wraps - -import re -import six - -__all__ = ["isoparse", "isoparser"] - - -def _takes_ascii(f): - @wraps(f) - def func(self, str_in, *args, **kwargs): - # If it's a stream, read the whole thing - str_in = getattr(str_in, 'read', lambda: str_in)() - - # If it's unicode, turn it into bytes, since ISO-8601 only covers ASCII - if isinstance(str_in, six.text_type): - # ASCII is the same in UTF-8 - try: - str_in = str_in.encode('ascii') - except UnicodeEncodeError as e: - msg = 'ISO-8601 strings should contain only ASCII characters' - six.raise_from(ValueError(msg), e) - - return f(self, str_in, *args, **kwargs) - - return func - - -class isoparser(object): - def __init__(self, sep=None): - """ - :param sep: - A single character that separates date and time portions. If - ``None``, the parser will accept any single character. - For strict ISO-8601 adherence, pass ``'T'``. - """ - if sep is not None: - if (len(sep) != 1 or ord(sep) >= 128 or sep in '0123456789'): - raise ValueError('Separator must be a single, non-numeric ' + - 'ASCII character') - - sep = sep.encode('ascii') - - self._sep = sep - - @_takes_ascii - def isoparse(self, dt_str): - """ - Parse an ISO-8601 datetime string into a :class:`datetime.datetime`. - - An ISO-8601 datetime string consists of a date portion, followed - optionally by a time portion - the date and time portions are separated - by a single character separator, which is ``T`` in the official - standard. Incomplete date formats (such as ``YYYY-MM``) may *not* be - combined with a time portion. - - Supported date formats are: - - Common: - - - ``YYYY`` - - ``YYYY-MM`` - - ``YYYY-MM-DD`` or ``YYYYMMDD`` - - Uncommon: - - - ``YYYY-Www`` or ``YYYYWww`` - ISO week (day defaults to 0) - - ``YYYY-Www-D`` or ``YYYYWwwD`` - ISO week and day - - The ISO week and day numbering follows the same logic as - :func:`datetime.date.isocalendar`. - - Supported time formats are: - - - ``hh`` - - ``hh:mm`` or ``hhmm`` - - ``hh:mm:ss`` or ``hhmmss`` - - ``hh:mm:ss.ssssss`` (Up to 6 sub-second digits) - - Midnight is a special case for `hh`, as the standard supports both - 00:00 and 24:00 as a representation. The decimal separator can be - either a dot or a comma. - - - .. caution:: - - Support for fractional components other than seconds is part of the - ISO-8601 standard, but is not currently implemented in this parser. - - Supported time zone offset formats are: - - - `Z` (UTC) - - `±HH:MM` - - `±HHMM` - - `±HH` - - Offsets will be represented as :class:`dateutil.tz.tzoffset` objects, - with the exception of UTC, which will be represented as - :class:`dateutil.tz.tzutc`. Time zone offsets equivalent to UTC (such - as `+00:00`) will also be represented as :class:`dateutil.tz.tzutc`. - - :param dt_str: - A string or stream containing only an ISO-8601 datetime string - - :return: - Returns a :class:`datetime.datetime` representing the string. - Unspecified components default to their lowest value. - - .. warning:: - - As of version 2.7.0, the strictness of the parser should not be - considered a stable part of the contract. Any valid ISO-8601 string - that parses correctly with the default settings will continue to - parse correctly in future versions, but invalid strings that - currently fail (e.g. ``2017-01-01T00:00+00:00:00``) are not - guaranteed to continue failing in future versions if they encode - a valid date. - - .. versionadded:: 2.7.0 - """ - components, pos = self._parse_isodate(dt_str) - - if len(dt_str) > pos: - if self._sep is None or dt_str[pos:pos + 1] == self._sep: - components += self._parse_isotime(dt_str[pos + 1:]) - else: - raise ValueError('String contains unknown ISO components') - - if len(components) > 3 and components[3] == 24: - components[3] = 0 - return datetime(*components) + timedelta(days=1) - - return datetime(*components) - - @_takes_ascii - def parse_isodate(self, datestr): - """ - Parse the date portion of an ISO string. - - :param datestr: - The string portion of an ISO string, without a separator - - :return: - Returns a :class:`datetime.date` object - """ - components, pos = self._parse_isodate(datestr) - if pos < len(datestr): - raise ValueError('String contains unknown ISO ' + - 'components: {!r}'.format(datestr.decode('ascii'))) - return date(*components) - - @_takes_ascii - def parse_isotime(self, timestr): - """ - Parse the time portion of an ISO string. - - :param timestr: - The time portion of an ISO string, without a separator - - :return: - Returns a :class:`datetime.time` object - """ - components = self._parse_isotime(timestr) - if components[0] == 24: - components[0] = 0 - return time(*components) - - @_takes_ascii - def parse_tzstr(self, tzstr, zero_as_utc=True): - """ - Parse a valid ISO time zone string. - - See :func:`isoparser.isoparse` for details on supported formats. - - :param tzstr: - A string representing an ISO time zone offset - - :param zero_as_utc: - Whether to return :class:`dateutil.tz.tzutc` for zero-offset zones - - :return: - Returns :class:`dateutil.tz.tzoffset` for offsets and - :class:`dateutil.tz.tzutc` for ``Z`` and (if ``zero_as_utc`` is - specified) offsets equivalent to UTC. - """ - return self._parse_tzstr(tzstr, zero_as_utc=zero_as_utc) - - # Constants - _DATE_SEP = b'-' - _TIME_SEP = b':' - _FRACTION_REGEX = re.compile(b'[\\.,]([0-9]+)') - - def _parse_isodate(self, dt_str): - try: - return self._parse_isodate_common(dt_str) - except ValueError: - return self._parse_isodate_uncommon(dt_str) - - def _parse_isodate_common(self, dt_str): - len_str = len(dt_str) - components = [1, 1, 1] - - if len_str < 4: - raise ValueError('ISO string too short') - - # Year - components[0] = int(dt_str[0:4]) - pos = 4 - if pos >= len_str: - return components, pos - - has_sep = dt_str[pos:pos + 1] == self._DATE_SEP - if has_sep: - pos += 1 - - # Month - if len_str - pos < 2: - raise ValueError('Invalid common month') - - components[1] = int(dt_str[pos:pos + 2]) - pos += 2 - - if pos >= len_str: - if has_sep: - return components, pos - else: - raise ValueError('Invalid ISO format') - - if has_sep: - if dt_str[pos:pos + 1] != self._DATE_SEP: - raise ValueError('Invalid separator in ISO string') - pos += 1 - - # Day - if len_str - pos < 2: - raise ValueError('Invalid common day') - components[2] = int(dt_str[pos:pos + 2]) - return components, pos + 2 - - def _parse_isodate_uncommon(self, dt_str): - if len(dt_str) < 4: - raise ValueError('ISO string too short') - - # All ISO formats start with the year - year = int(dt_str[0:4]) - - has_sep = dt_str[4:5] == self._DATE_SEP - - pos = 4 + has_sep # Skip '-' if it's there - if dt_str[pos:pos + 1] == b'W': - # YYYY-?Www-?D? - pos += 1 - weekno = int(dt_str[pos:pos + 2]) - pos += 2 - - dayno = 1 - if len(dt_str) > pos: - if (dt_str[pos:pos + 1] == self._DATE_SEP) != has_sep: - raise ValueError('Inconsistent use of dash separator') - - pos += has_sep - - dayno = int(dt_str[pos:pos + 1]) - pos += 1 - - base_date = self._calculate_weekdate(year, weekno, dayno) - else: - # YYYYDDD or YYYY-DDD - if len(dt_str) - pos < 3: - raise ValueError('Invalid ordinal day') - - ordinal_day = int(dt_str[pos:pos + 3]) - pos += 3 - - if ordinal_day < 1 or ordinal_day > (365 + calendar.isleap(year)): - raise ValueError('Invalid ordinal day' + - ' {} for year {}'.format(ordinal_day, year)) - - base_date = date(year, 1, 1) + timedelta(days=ordinal_day - 1) - - components = [base_date.year, base_date.month, base_date.day] - return components, pos - - def _calculate_weekdate(self, year, week, day): - """ - Calculate the day of corresponding to the ISO year-week-day calendar. - - This function is effectively the inverse of - :func:`datetime.date.isocalendar`. - - :param year: - The year in the ISO calendar - - :param week: - The week in the ISO calendar - range is [1, 53] - - :param day: - The day in the ISO calendar - range is [1 (MON), 7 (SUN)] - - :return: - Returns a :class:`datetime.date` - """ - if not 0 < week < 54: - raise ValueError('Invalid week: {}'.format(week)) - - if not 0 < day < 8: # Range is 1-7 - raise ValueError('Invalid weekday: {}'.format(day)) - - # Get week 1 for the specific year: - jan_4 = date(year, 1, 4) # Week 1 always has January 4th in it - week_1 = jan_4 - timedelta(days=jan_4.isocalendar()[2] - 1) - - # Now add the specific number of weeks and days to get what we want - week_offset = (week - 1) * 7 + (day - 1) - return week_1 + timedelta(days=week_offset) - - def _parse_isotime(self, timestr): - len_str = len(timestr) - components = [0, 0, 0, 0, None] - pos = 0 - comp = -1 - - if len_str < 2: - raise ValueError('ISO time too short') - - has_sep = False - - while pos < len_str and comp < 5: - comp += 1 - - if timestr[pos:pos + 1] in b'-+Zz': - # Detect time zone boundary - components[-1] = self._parse_tzstr(timestr[pos:]) - pos = len_str - break - - if comp == 1 and timestr[pos:pos+1] == self._TIME_SEP: - has_sep = True - pos += 1 - elif comp == 2 and has_sep: - if timestr[pos:pos+1] != self._TIME_SEP: - raise ValueError('Inconsistent use of colon separator') - pos += 1 - - if comp < 3: - # Hour, minute, second - components[comp] = int(timestr[pos:pos + 2]) - pos += 2 - - if comp == 3: - # Fraction of a second - frac = self._FRACTION_REGEX.match(timestr[pos:]) - if not frac: - continue - - us_str = frac.group(1)[:6] # Truncate to microseconds - components[comp] = int(us_str) * 10**(6 - len(us_str)) - pos += len(frac.group()) - - if pos < len_str: - raise ValueError('Unused components in ISO string') - - if components[0] == 24: - # Standard supports 00:00 and 24:00 as representations of midnight - if any(component != 0 for component in components[1:4]): - raise ValueError('Hour may only be 24 at 24:00:00.000') - - return components - - def _parse_tzstr(self, tzstr, zero_as_utc=True): - if tzstr == b'Z' or tzstr == b'z': - return tz.UTC - - if len(tzstr) not in {3, 5, 6}: - raise ValueError('Time zone offset must be 1, 3, 5 or 6 characters') - - if tzstr[0:1] == b'-': - mult = -1 - elif tzstr[0:1] == b'+': - mult = 1 - else: - raise ValueError('Time zone offset requires sign') - - hours = int(tzstr[1:3]) - if len(tzstr) == 3: - minutes = 0 - else: - minutes = int(tzstr[(4 if tzstr[3:4] == self._TIME_SEP else 3):]) - - if zero_as_utc and hours == 0 and minutes == 0: - return tz.UTC - else: - if minutes > 59: - raise ValueError('Invalid minutes in time zone offset') - - if hours > 23: - raise ValueError('Invalid hours in time zone offset') - - return tz.tzoffset(None, mult * (hours * 60 + minutes) * 60) - - -DEFAULT_ISOPARSER = isoparser() -isoparse = DEFAULT_ISOPARSER.isoparse diff --git a/venv/lib/python3.11/site-packages/dateutil/relativedelta.py b/venv/lib/python3.11/site-packages/dateutil/relativedelta.py deleted file mode 100644 index cd323a5..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/relativedelta.py +++ /dev/null @@ -1,599 +0,0 @@ -# -*- coding: utf-8 -*- -import datetime -import calendar - -import operator -from math import copysign - -from six import integer_types -from warnings import warn - -from ._common import weekday - -MO, TU, WE, TH, FR, SA, SU = weekdays = tuple(weekday(x) for x in range(7)) - -__all__ = ["relativedelta", "MO", "TU", "WE", "TH", "FR", "SA", "SU"] - - -class relativedelta(object): - """ - The relativedelta type is designed to be applied to an existing datetime and - can replace specific components of that datetime, or represents an interval - of time. - - It is based on the specification of the excellent work done by M.-A. Lemburg - in his - `mx.DateTime `_ extension. - However, notice that this type does *NOT* implement the same algorithm as - his work. Do *NOT* expect it to behave like mx.DateTime's counterpart. - - There are two different ways to build a relativedelta instance. The - first one is passing it two date/datetime classes:: - - relativedelta(datetime1, datetime2) - - The second one is passing it any number of the following keyword arguments:: - - relativedelta(arg1=x,arg2=y,arg3=z...) - - year, month, day, hour, minute, second, microsecond: - Absolute information (argument is singular); adding or subtracting a - relativedelta with absolute information does not perform an arithmetic - operation, but rather REPLACES the corresponding value in the - original datetime with the value(s) in relativedelta. - - years, months, weeks, days, hours, minutes, seconds, microseconds: - Relative information, may be negative (argument is plural); adding - or subtracting a relativedelta with relative information performs - the corresponding arithmetic operation on the original datetime value - with the information in the relativedelta. - - weekday: - One of the weekday instances (MO, TU, etc) available in the - relativedelta module. These instances may receive a parameter N, - specifying the Nth weekday, which could be positive or negative - (like MO(+1) or MO(-2)). Not specifying it is the same as specifying - +1. You can also use an integer, where 0=MO. This argument is always - relative e.g. if the calculated date is already Monday, using MO(1) - or MO(-1) won't change the day. To effectively make it absolute, use - it in combination with the day argument (e.g. day=1, MO(1) for first - Monday of the month). - - leapdays: - Will add given days to the date found, if year is a leap - year, and the date found is post 28 of february. - - yearday, nlyearday: - Set the yearday or the non-leap year day (jump leap days). - These are converted to day/month/leapdays information. - - There are relative and absolute forms of the keyword - arguments. The plural is relative, and the singular is - absolute. For each argument in the order below, the absolute form - is applied first (by setting each attribute to that value) and - then the relative form (by adding the value to the attribute). - - The order of attributes considered when this relativedelta is - added to a datetime is: - - 1. Year - 2. Month - 3. Day - 4. Hours - 5. Minutes - 6. Seconds - 7. Microseconds - - Finally, weekday is applied, using the rule described above. - - For example - - >>> from datetime import datetime - >>> from dateutil.relativedelta import relativedelta, MO - >>> dt = datetime(2018, 4, 9, 13, 37, 0) - >>> delta = relativedelta(hours=25, day=1, weekday=MO(1)) - >>> dt + delta - datetime.datetime(2018, 4, 2, 14, 37) - - First, the day is set to 1 (the first of the month), then 25 hours - are added, to get to the 2nd day and 14th hour, finally the - weekday is applied, but since the 2nd is already a Monday there is - no effect. - - """ - - def __init__(self, dt1=None, dt2=None, - years=0, months=0, days=0, leapdays=0, weeks=0, - hours=0, minutes=0, seconds=0, microseconds=0, - year=None, month=None, day=None, weekday=None, - yearday=None, nlyearday=None, - hour=None, minute=None, second=None, microsecond=None): - - if dt1 and dt2: - # datetime is a subclass of date. So both must be date - if not (isinstance(dt1, datetime.date) and - isinstance(dt2, datetime.date)): - raise TypeError("relativedelta only diffs datetime/date") - - # We allow two dates, or two datetimes, so we coerce them to be - # of the same type - if (isinstance(dt1, datetime.datetime) != - isinstance(dt2, datetime.datetime)): - if not isinstance(dt1, datetime.datetime): - dt1 = datetime.datetime.fromordinal(dt1.toordinal()) - elif not isinstance(dt2, datetime.datetime): - dt2 = datetime.datetime.fromordinal(dt2.toordinal()) - - self.years = 0 - self.months = 0 - self.days = 0 - self.leapdays = 0 - self.hours = 0 - self.minutes = 0 - self.seconds = 0 - self.microseconds = 0 - self.year = None - self.month = None - self.day = None - self.weekday = None - self.hour = None - self.minute = None - self.second = None - self.microsecond = None - self._has_time = 0 - - # Get year / month delta between the two - months = (dt1.year - dt2.year) * 12 + (dt1.month - dt2.month) - self._set_months(months) - - # Remove the year/month delta so the timedelta is just well-defined - # time units (seconds, days and microseconds) - dtm = self.__radd__(dt2) - - # If we've overshot our target, make an adjustment - if dt1 < dt2: - compare = operator.gt - increment = 1 - else: - compare = operator.lt - increment = -1 - - while compare(dt1, dtm): - months += increment - self._set_months(months) - dtm = self.__radd__(dt2) - - # Get the timedelta between the "months-adjusted" date and dt1 - delta = dt1 - dtm - self.seconds = delta.seconds + delta.days * 86400 - self.microseconds = delta.microseconds - else: - # Check for non-integer values in integer-only quantities - if any(x is not None and x != int(x) for x in (years, months)): - raise ValueError("Non-integer years and months are " - "ambiguous and not currently supported.") - - # Relative information - self.years = int(years) - self.months = int(months) - self.days = days + weeks * 7 - self.leapdays = leapdays - self.hours = hours - self.minutes = minutes - self.seconds = seconds - self.microseconds = microseconds - - # Absolute information - self.year = year - self.month = month - self.day = day - self.hour = hour - self.minute = minute - self.second = second - self.microsecond = microsecond - - if any(x is not None and int(x) != x - for x in (year, month, day, hour, - minute, second, microsecond)): - # For now we'll deprecate floats - later it'll be an error. - warn("Non-integer value passed as absolute information. " + - "This is not a well-defined condition and will raise " + - "errors in future versions.", DeprecationWarning) - - if isinstance(weekday, integer_types): - self.weekday = weekdays[weekday] - else: - self.weekday = weekday - - yday = 0 - if nlyearday: - yday = nlyearday - elif yearday: - yday = yearday - if yearday > 59: - self.leapdays = -1 - if yday: - ydayidx = [31, 59, 90, 120, 151, 181, 212, - 243, 273, 304, 334, 366] - for idx, ydays in enumerate(ydayidx): - if yday <= ydays: - self.month = idx+1 - if idx == 0: - self.day = yday - else: - self.day = yday-ydayidx[idx-1] - break - else: - raise ValueError("invalid year day (%d)" % yday) - - self._fix() - - def _fix(self): - if abs(self.microseconds) > 999999: - s = _sign(self.microseconds) - div, mod = divmod(self.microseconds * s, 1000000) - self.microseconds = mod * s - self.seconds += div * s - if abs(self.seconds) > 59: - s = _sign(self.seconds) - div, mod = divmod(self.seconds * s, 60) - self.seconds = mod * s - self.minutes += div * s - if abs(self.minutes) > 59: - s = _sign(self.minutes) - div, mod = divmod(self.minutes * s, 60) - self.minutes = mod * s - self.hours += div * s - if abs(self.hours) > 23: - s = _sign(self.hours) - div, mod = divmod(self.hours * s, 24) - self.hours = mod * s - self.days += div * s - if abs(self.months) > 11: - s = _sign(self.months) - div, mod = divmod(self.months * s, 12) - self.months = mod * s - self.years += div * s - if (self.hours or self.minutes or self.seconds or self.microseconds - or self.hour is not None or self.minute is not None or - self.second is not None or self.microsecond is not None): - self._has_time = 1 - else: - self._has_time = 0 - - @property - def weeks(self): - return int(self.days / 7.0) - - @weeks.setter - def weeks(self, value): - self.days = self.days - (self.weeks * 7) + value * 7 - - def _set_months(self, months): - self.months = months - if abs(self.months) > 11: - s = _sign(self.months) - div, mod = divmod(self.months * s, 12) - self.months = mod * s - self.years = div * s - else: - self.years = 0 - - def normalized(self): - """ - Return a version of this object represented entirely using integer - values for the relative attributes. - - >>> relativedelta(days=1.5, hours=2).normalized() - relativedelta(days=+1, hours=+14) - - :return: - Returns a :class:`dateutil.relativedelta.relativedelta` object. - """ - # Cascade remainders down (rounding each to roughly nearest microsecond) - days = int(self.days) - - hours_f = round(self.hours + 24 * (self.days - days), 11) - hours = int(hours_f) - - minutes_f = round(self.minutes + 60 * (hours_f - hours), 10) - minutes = int(minutes_f) - - seconds_f = round(self.seconds + 60 * (minutes_f - minutes), 8) - seconds = int(seconds_f) - - microseconds = round(self.microseconds + 1e6 * (seconds_f - seconds)) - - # Constructor carries overflow back up with call to _fix() - return self.__class__(years=self.years, months=self.months, - days=days, hours=hours, minutes=minutes, - seconds=seconds, microseconds=microseconds, - leapdays=self.leapdays, year=self.year, - month=self.month, day=self.day, - weekday=self.weekday, hour=self.hour, - minute=self.minute, second=self.second, - microsecond=self.microsecond) - - def __add__(self, other): - if isinstance(other, relativedelta): - return self.__class__(years=other.years + self.years, - months=other.months + self.months, - days=other.days + self.days, - hours=other.hours + self.hours, - minutes=other.minutes + self.minutes, - seconds=other.seconds + self.seconds, - microseconds=(other.microseconds + - self.microseconds), - leapdays=other.leapdays or self.leapdays, - year=(other.year if other.year is not None - else self.year), - month=(other.month if other.month is not None - else self.month), - day=(other.day if other.day is not None - else self.day), - weekday=(other.weekday if other.weekday is not None - else self.weekday), - hour=(other.hour if other.hour is not None - else self.hour), - minute=(other.minute if other.minute is not None - else self.minute), - second=(other.second if other.second is not None - else self.second), - microsecond=(other.microsecond if other.microsecond - is not None else - self.microsecond)) - if isinstance(other, datetime.timedelta): - return self.__class__(years=self.years, - months=self.months, - days=self.days + other.days, - hours=self.hours, - minutes=self.minutes, - seconds=self.seconds + other.seconds, - microseconds=self.microseconds + other.microseconds, - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - if not isinstance(other, datetime.date): - return NotImplemented - elif self._has_time and not isinstance(other, datetime.datetime): - other = datetime.datetime.fromordinal(other.toordinal()) - year = (self.year or other.year)+self.years - month = self.month or other.month - if self.months: - assert 1 <= abs(self.months) <= 12 - month += self.months - if month > 12: - year += 1 - month -= 12 - elif month < 1: - year -= 1 - month += 12 - day = min(calendar.monthrange(year, month)[1], - self.day or other.day) - repl = {"year": year, "month": month, "day": day} - for attr in ["hour", "minute", "second", "microsecond"]: - value = getattr(self, attr) - if value is not None: - repl[attr] = value - days = self.days - if self.leapdays and month > 2 and calendar.isleap(year): - days += self.leapdays - ret = (other.replace(**repl) - + datetime.timedelta(days=days, - hours=self.hours, - minutes=self.minutes, - seconds=self.seconds, - microseconds=self.microseconds)) - if self.weekday: - weekday, nth = self.weekday.weekday, self.weekday.n or 1 - jumpdays = (abs(nth) - 1) * 7 - if nth > 0: - jumpdays += (7 - ret.weekday() + weekday) % 7 - else: - jumpdays += (ret.weekday() - weekday) % 7 - jumpdays *= -1 - ret += datetime.timedelta(days=jumpdays) - return ret - - def __radd__(self, other): - return self.__add__(other) - - def __rsub__(self, other): - return self.__neg__().__radd__(other) - - def __sub__(self, other): - if not isinstance(other, relativedelta): - return NotImplemented # In case the other object defines __rsub__ - return self.__class__(years=self.years - other.years, - months=self.months - other.months, - days=self.days - other.days, - hours=self.hours - other.hours, - minutes=self.minutes - other.minutes, - seconds=self.seconds - other.seconds, - microseconds=self.microseconds - other.microseconds, - leapdays=self.leapdays or other.leapdays, - year=(self.year if self.year is not None - else other.year), - month=(self.month if self.month is not None else - other.month), - day=(self.day if self.day is not None else - other.day), - weekday=(self.weekday if self.weekday is not None else - other.weekday), - hour=(self.hour if self.hour is not None else - other.hour), - minute=(self.minute if self.minute is not None else - other.minute), - second=(self.second if self.second is not None else - other.second), - microsecond=(self.microsecond if self.microsecond - is not None else - other.microsecond)) - - def __abs__(self): - return self.__class__(years=abs(self.years), - months=abs(self.months), - days=abs(self.days), - hours=abs(self.hours), - minutes=abs(self.minutes), - seconds=abs(self.seconds), - microseconds=abs(self.microseconds), - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - - def __neg__(self): - return self.__class__(years=-self.years, - months=-self.months, - days=-self.days, - hours=-self.hours, - minutes=-self.minutes, - seconds=-self.seconds, - microseconds=-self.microseconds, - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - - def __bool__(self): - return not (not self.years and - not self.months and - not self.days and - not self.hours and - not self.minutes and - not self.seconds and - not self.microseconds and - not self.leapdays and - self.year is None and - self.month is None and - self.day is None and - self.weekday is None and - self.hour is None and - self.minute is None and - self.second is None and - self.microsecond is None) - # Compatibility with Python 2.x - __nonzero__ = __bool__ - - def __mul__(self, other): - try: - f = float(other) - except TypeError: - return NotImplemented - - return self.__class__(years=int(self.years * f), - months=int(self.months * f), - days=int(self.days * f), - hours=int(self.hours * f), - minutes=int(self.minutes * f), - seconds=int(self.seconds * f), - microseconds=int(self.microseconds * f), - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - - __rmul__ = __mul__ - - def __eq__(self, other): - if not isinstance(other, relativedelta): - return NotImplemented - if self.weekday or other.weekday: - if not self.weekday or not other.weekday: - return False - if self.weekday.weekday != other.weekday.weekday: - return False - n1, n2 = self.weekday.n, other.weekday.n - if n1 != n2 and not ((not n1 or n1 == 1) and (not n2 or n2 == 1)): - return False - return (self.years == other.years and - self.months == other.months and - self.days == other.days and - self.hours == other.hours and - self.minutes == other.minutes and - self.seconds == other.seconds and - self.microseconds == other.microseconds and - self.leapdays == other.leapdays and - self.year == other.year and - self.month == other.month and - self.day == other.day and - self.hour == other.hour and - self.minute == other.minute and - self.second == other.second and - self.microsecond == other.microsecond) - - def __hash__(self): - return hash(( - self.weekday, - self.years, - self.months, - self.days, - self.hours, - self.minutes, - self.seconds, - self.microseconds, - self.leapdays, - self.year, - self.month, - self.day, - self.hour, - self.minute, - self.second, - self.microsecond, - )) - - def __ne__(self, other): - return not self.__eq__(other) - - def __div__(self, other): - try: - reciprocal = 1 / float(other) - except TypeError: - return NotImplemented - - return self.__mul__(reciprocal) - - __truediv__ = __div__ - - def __repr__(self): - l = [] - for attr in ["years", "months", "days", "leapdays", - "hours", "minutes", "seconds", "microseconds"]: - value = getattr(self, attr) - if value: - l.append("{attr}={value:+g}".format(attr=attr, value=value)) - for attr in ["year", "month", "day", "weekday", - "hour", "minute", "second", "microsecond"]: - value = getattr(self, attr) - if value is not None: - l.append("{attr}={value}".format(attr=attr, value=repr(value))) - return "{classname}({attrs})".format(classname=self.__class__.__name__, - attrs=", ".join(l)) - - -def _sign(x): - return int(copysign(1, x)) - -# vim:ts=4:sw=4:et diff --git a/venv/lib/python3.11/site-packages/dateutil/rrule.py b/venv/lib/python3.11/site-packages/dateutil/rrule.py deleted file mode 100644 index 571a0d2..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/rrule.py +++ /dev/null @@ -1,1737 +0,0 @@ -# -*- coding: utf-8 -*- -""" -The rrule module offers a small, complete, and very fast, implementation of -the recurrence rules documented in the -`iCalendar RFC `_, -including support for caching of results. -""" -import calendar -import datetime -import heapq -import itertools -import re -import sys -from functools import wraps -# For warning about deprecation of until and count -from warnings import warn - -from six import advance_iterator, integer_types - -from six.moves import _thread, range - -from ._common import weekday as weekdaybase - -try: - from math import gcd -except ImportError: - from fractions import gcd - -__all__ = ["rrule", "rruleset", "rrulestr", - "YEARLY", "MONTHLY", "WEEKLY", "DAILY", - "HOURLY", "MINUTELY", "SECONDLY", - "MO", "TU", "WE", "TH", "FR", "SA", "SU"] - -# Every mask is 7 days longer to handle cross-year weekly periods. -M366MASK = tuple([1]*31+[2]*29+[3]*31+[4]*30+[5]*31+[6]*30 + - [7]*31+[8]*31+[9]*30+[10]*31+[11]*30+[12]*31+[1]*7) -M365MASK = list(M366MASK) -M29, M30, M31 = list(range(1, 30)), list(range(1, 31)), list(range(1, 32)) -MDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7]) -MDAY365MASK = list(MDAY366MASK) -M29, M30, M31 = list(range(-29, 0)), list(range(-30, 0)), list(range(-31, 0)) -NMDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7]) -NMDAY365MASK = list(NMDAY366MASK) -M366RANGE = (0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366) -M365RANGE = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365) -WDAYMASK = [0, 1, 2, 3, 4, 5, 6]*55 -del M29, M30, M31, M365MASK[59], MDAY365MASK[59], NMDAY365MASK[31] -MDAY365MASK = tuple(MDAY365MASK) -M365MASK = tuple(M365MASK) - -FREQNAMES = ['YEARLY', 'MONTHLY', 'WEEKLY', 'DAILY', 'HOURLY', 'MINUTELY', 'SECONDLY'] - -(YEARLY, - MONTHLY, - WEEKLY, - DAILY, - HOURLY, - MINUTELY, - SECONDLY) = list(range(7)) - -# Imported on demand. -easter = None -parser = None - - -class weekday(weekdaybase): - """ - This version of weekday does not allow n = 0. - """ - def __init__(self, wkday, n=None): - if n == 0: - raise ValueError("Can't create weekday with n==0") - - super(weekday, self).__init__(wkday, n) - - -MO, TU, WE, TH, FR, SA, SU = weekdays = tuple(weekday(x) for x in range(7)) - - -def _invalidates_cache(f): - """ - Decorator for rruleset methods which may invalidate the - cached length. - """ - @wraps(f) - def inner_func(self, *args, **kwargs): - rv = f(self, *args, **kwargs) - self._invalidate_cache() - return rv - - return inner_func - - -class rrulebase(object): - def __init__(self, cache=False): - if cache: - self._cache = [] - self._cache_lock = _thread.allocate_lock() - self._invalidate_cache() - else: - self._cache = None - self._cache_complete = False - self._len = None - - def __iter__(self): - if self._cache_complete: - return iter(self._cache) - elif self._cache is None: - return self._iter() - else: - return self._iter_cached() - - def _invalidate_cache(self): - if self._cache is not None: - self._cache = [] - self._cache_complete = False - self._cache_gen = self._iter() - - if self._cache_lock.locked(): - self._cache_lock.release() - - self._len = None - - def _iter_cached(self): - i = 0 - gen = self._cache_gen - cache = self._cache - acquire = self._cache_lock.acquire - release = self._cache_lock.release - while gen: - if i == len(cache): - acquire() - if self._cache_complete: - break - try: - for j in range(10): - cache.append(advance_iterator(gen)) - except StopIteration: - self._cache_gen = gen = None - self._cache_complete = True - break - release() - yield cache[i] - i += 1 - while i < self._len: - yield cache[i] - i += 1 - - def __getitem__(self, item): - if self._cache_complete: - return self._cache[item] - elif isinstance(item, slice): - if item.step and item.step < 0: - return list(iter(self))[item] - else: - return list(itertools.islice(self, - item.start or 0, - item.stop or sys.maxsize, - item.step or 1)) - elif item >= 0: - gen = iter(self) - try: - for i in range(item+1): - res = advance_iterator(gen) - except StopIteration: - raise IndexError - return res - else: - return list(iter(self))[item] - - def __contains__(self, item): - if self._cache_complete: - return item in self._cache - else: - for i in self: - if i == item: - return True - elif i > item: - return False - return False - - # __len__() introduces a large performance penalty. - def count(self): - """ Returns the number of recurrences in this set. It will have go - through the whole recurrence, if this hasn't been done before. """ - if self._len is None: - for x in self: - pass - return self._len - - def before(self, dt, inc=False): - """ Returns the last recurrence before the given datetime instance. The - inc keyword defines what happens if dt is an occurrence. With - inc=True, if dt itself is an occurrence, it will be returned. """ - if self._cache_complete: - gen = self._cache - else: - gen = self - last = None - if inc: - for i in gen: - if i > dt: - break - last = i - else: - for i in gen: - if i >= dt: - break - last = i - return last - - def after(self, dt, inc=False): - """ Returns the first recurrence after the given datetime instance. The - inc keyword defines what happens if dt is an occurrence. With - inc=True, if dt itself is an occurrence, it will be returned. """ - if self._cache_complete: - gen = self._cache - else: - gen = self - if inc: - for i in gen: - if i >= dt: - return i - else: - for i in gen: - if i > dt: - return i - return None - - def xafter(self, dt, count=None, inc=False): - """ - Generator which yields up to `count` recurrences after the given - datetime instance, equivalent to `after`. - - :param dt: - The datetime at which to start generating recurrences. - - :param count: - The maximum number of recurrences to generate. If `None` (default), - dates are generated until the recurrence rule is exhausted. - - :param inc: - If `dt` is an instance of the rule and `inc` is `True`, it is - included in the output. - - :yields: Yields a sequence of `datetime` objects. - """ - - if self._cache_complete: - gen = self._cache - else: - gen = self - - # Select the comparison function - if inc: - comp = lambda dc, dtc: dc >= dtc - else: - comp = lambda dc, dtc: dc > dtc - - # Generate dates - n = 0 - for d in gen: - if comp(d, dt): - if count is not None: - n += 1 - if n > count: - break - - yield d - - def between(self, after, before, inc=False, count=1): - """ Returns all the occurrences of the rrule between after and before. - The inc keyword defines what happens if after and/or before are - themselves occurrences. With inc=True, they will be included in the - list, if they are found in the recurrence set. """ - if self._cache_complete: - gen = self._cache - else: - gen = self - started = False - l = [] - if inc: - for i in gen: - if i > before: - break - elif not started: - if i >= after: - started = True - l.append(i) - else: - l.append(i) - else: - for i in gen: - if i >= before: - break - elif not started: - if i > after: - started = True - l.append(i) - else: - l.append(i) - return l - - -class rrule(rrulebase): - """ - That's the base of the rrule operation. It accepts all the keywords - defined in the RFC as its constructor parameters (except byday, - which was renamed to byweekday) and more. The constructor prototype is:: - - rrule(freq) - - Where freq must be one of YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, - or SECONDLY. - - .. note:: - Per RFC section 3.3.10, recurrence instances falling on invalid dates - and times are ignored rather than coerced: - - Recurrence rules may generate recurrence instances with an invalid - date (e.g., February 30) or nonexistent local time (e.g., 1:30 AM - on a day where the local time is moved forward by an hour at 1:00 - AM). Such recurrence instances MUST be ignored and MUST NOT be - counted as part of the recurrence set. - - This can lead to possibly surprising behavior when, for example, the - start date occurs at the end of the month: - - >>> from dateutil.rrule import rrule, MONTHLY - >>> from datetime import datetime - >>> start_date = datetime(2014, 12, 31) - >>> list(rrule(freq=MONTHLY, count=4, dtstart=start_date)) - ... # doctest: +NORMALIZE_WHITESPACE - [datetime.datetime(2014, 12, 31, 0, 0), - datetime.datetime(2015, 1, 31, 0, 0), - datetime.datetime(2015, 3, 31, 0, 0), - datetime.datetime(2015, 5, 31, 0, 0)] - - Additionally, it supports the following keyword arguments: - - :param dtstart: - The recurrence start. Besides being the base for the recurrence, - missing parameters in the final recurrence instances will also be - extracted from this date. If not given, datetime.now() will be used - instead. - :param interval: - The interval between each freq iteration. For example, when using - YEARLY, an interval of 2 means once every two years, but with HOURLY, - it means once every two hours. The default interval is 1. - :param wkst: - The week start day. Must be one of the MO, TU, WE constants, or an - integer, specifying the first day of the week. This will affect - recurrences based on weekly periods. The default week start is got - from calendar.firstweekday(), and may be modified by - calendar.setfirstweekday(). - :param count: - If given, this determines how many occurrences will be generated. - - .. note:: - As of version 2.5.0, the use of the keyword ``until`` in conjunction - with ``count`` is deprecated, to make sure ``dateutil`` is fully - compliant with `RFC-5545 Sec. 3.3.10 `_. Therefore, ``until`` and ``count`` - **must not** occur in the same call to ``rrule``. - :param until: - If given, this must be a datetime instance specifying the upper-bound - limit of the recurrence. The last recurrence in the rule is the greatest - datetime that is less than or equal to the value specified in the - ``until`` parameter. - - .. note:: - As of version 2.5.0, the use of the keyword ``until`` in conjunction - with ``count`` is deprecated, to make sure ``dateutil`` is fully - compliant with `RFC-5545 Sec. 3.3.10 `_. Therefore, ``until`` and ``count`` - **must not** occur in the same call to ``rrule``. - :param bysetpos: - If given, it must be either an integer, or a sequence of integers, - positive or negative. Each given integer will specify an occurrence - number, corresponding to the nth occurrence of the rule inside the - frequency period. For example, a bysetpos of -1 if combined with a - MONTHLY frequency, and a byweekday of (MO, TU, WE, TH, FR), will - result in the last work day of every month. - :param bymonth: - If given, it must be either an integer, or a sequence of integers, - meaning the months to apply the recurrence to. - :param bymonthday: - If given, it must be either an integer, or a sequence of integers, - meaning the month days to apply the recurrence to. - :param byyearday: - If given, it must be either an integer, or a sequence of integers, - meaning the year days to apply the recurrence to. - :param byeaster: - If given, it must be either an integer, or a sequence of integers, - positive or negative. Each integer will define an offset from the - Easter Sunday. Passing the offset 0 to byeaster will yield the Easter - Sunday itself. This is an extension to the RFC specification. - :param byweekno: - If given, it must be either an integer, or a sequence of integers, - meaning the week numbers to apply the recurrence to. Week numbers - have the meaning described in ISO8601, that is, the first week of - the year is that containing at least four days of the new year. - :param byweekday: - If given, it must be either an integer (0 == MO), a sequence of - integers, one of the weekday constants (MO, TU, etc), or a sequence - of these constants. When given, these variables will define the - weekdays where the recurrence will be applied. It's also possible to - use an argument n for the weekday instances, which will mean the nth - occurrence of this weekday in the period. For example, with MONTHLY, - or with YEARLY and BYMONTH, using FR(+1) in byweekday will specify the - first friday of the month where the recurrence happens. Notice that in - the RFC documentation, this is specified as BYDAY, but was renamed to - avoid the ambiguity of that keyword. - :param byhour: - If given, it must be either an integer, or a sequence of integers, - meaning the hours to apply the recurrence to. - :param byminute: - If given, it must be either an integer, or a sequence of integers, - meaning the minutes to apply the recurrence to. - :param bysecond: - If given, it must be either an integer, or a sequence of integers, - meaning the seconds to apply the recurrence to. - :param cache: - If given, it must be a boolean value specifying to enable or disable - caching of results. If you will use the same rrule instance multiple - times, enabling caching will improve the performance considerably. - """ - def __init__(self, freq, dtstart=None, - interval=1, wkst=None, count=None, until=None, bysetpos=None, - bymonth=None, bymonthday=None, byyearday=None, byeaster=None, - byweekno=None, byweekday=None, - byhour=None, byminute=None, bysecond=None, - cache=False): - super(rrule, self).__init__(cache) - global easter - if not dtstart: - if until and until.tzinfo: - dtstart = datetime.datetime.now(tz=until.tzinfo).replace(microsecond=0) - else: - dtstart = datetime.datetime.now().replace(microsecond=0) - elif not isinstance(dtstart, datetime.datetime): - dtstart = datetime.datetime.fromordinal(dtstart.toordinal()) - else: - dtstart = dtstart.replace(microsecond=0) - self._dtstart = dtstart - self._tzinfo = dtstart.tzinfo - self._freq = freq - self._interval = interval - self._count = count - - # Cache the original byxxx rules, if they are provided, as the _byxxx - # attributes do not necessarily map to the inputs, and this can be - # a problem in generating the strings. Only store things if they've - # been supplied (the string retrieval will just use .get()) - self._original_rule = {} - - if until and not isinstance(until, datetime.datetime): - until = datetime.datetime.fromordinal(until.toordinal()) - self._until = until - - if self._dtstart and self._until: - if (self._dtstart.tzinfo is not None) != (self._until.tzinfo is not None): - # According to RFC5545 Section 3.3.10: - # https://tools.ietf.org/html/rfc5545#section-3.3.10 - # - # > If the "DTSTART" property is specified as a date with UTC - # > time or a date with local time and time zone reference, - # > then the UNTIL rule part MUST be specified as a date with - # > UTC time. - raise ValueError( - 'RRULE UNTIL values must be specified in UTC when DTSTART ' - 'is timezone-aware' - ) - - if count is not None and until: - warn("Using both 'count' and 'until' is inconsistent with RFC 5545" - " and has been deprecated in dateutil. Future versions will " - "raise an error.", DeprecationWarning) - - if wkst is None: - self._wkst = calendar.firstweekday() - elif isinstance(wkst, integer_types): - self._wkst = wkst - else: - self._wkst = wkst.weekday - - if bysetpos is None: - self._bysetpos = None - elif isinstance(bysetpos, integer_types): - if bysetpos == 0 or not (-366 <= bysetpos <= 366): - raise ValueError("bysetpos must be between 1 and 366, " - "or between -366 and -1") - self._bysetpos = (bysetpos,) - else: - self._bysetpos = tuple(bysetpos) - for pos in self._bysetpos: - if pos == 0 or not (-366 <= pos <= 366): - raise ValueError("bysetpos must be between 1 and 366, " - "or between -366 and -1") - - if self._bysetpos: - self._original_rule['bysetpos'] = self._bysetpos - - if (byweekno is None and byyearday is None and bymonthday is None and - byweekday is None and byeaster is None): - if freq == YEARLY: - if bymonth is None: - bymonth = dtstart.month - self._original_rule['bymonth'] = None - bymonthday = dtstart.day - self._original_rule['bymonthday'] = None - elif freq == MONTHLY: - bymonthday = dtstart.day - self._original_rule['bymonthday'] = None - elif freq == WEEKLY: - byweekday = dtstart.weekday() - self._original_rule['byweekday'] = None - - # bymonth - if bymonth is None: - self._bymonth = None - else: - if isinstance(bymonth, integer_types): - bymonth = (bymonth,) - - self._bymonth = tuple(sorted(set(bymonth))) - - if 'bymonth' not in self._original_rule: - self._original_rule['bymonth'] = self._bymonth - - # byyearday - if byyearday is None: - self._byyearday = None - else: - if isinstance(byyearday, integer_types): - byyearday = (byyearday,) - - self._byyearday = tuple(sorted(set(byyearday))) - self._original_rule['byyearday'] = self._byyearday - - # byeaster - if byeaster is not None: - if not easter: - from dateutil import easter - if isinstance(byeaster, integer_types): - self._byeaster = (byeaster,) - else: - self._byeaster = tuple(sorted(byeaster)) - - self._original_rule['byeaster'] = self._byeaster - else: - self._byeaster = None - - # bymonthday - if bymonthday is None: - self._bymonthday = () - self._bynmonthday = () - else: - if isinstance(bymonthday, integer_types): - bymonthday = (bymonthday,) - - bymonthday = set(bymonthday) # Ensure it's unique - - self._bymonthday = tuple(sorted(x for x in bymonthday if x > 0)) - self._bynmonthday = tuple(sorted(x for x in bymonthday if x < 0)) - - # Storing positive numbers first, then negative numbers - if 'bymonthday' not in self._original_rule: - self._original_rule['bymonthday'] = tuple( - itertools.chain(self._bymonthday, self._bynmonthday)) - - # byweekno - if byweekno is None: - self._byweekno = None - else: - if isinstance(byweekno, integer_types): - byweekno = (byweekno,) - - self._byweekno = tuple(sorted(set(byweekno))) - - self._original_rule['byweekno'] = self._byweekno - - # byweekday / bynweekday - if byweekday is None: - self._byweekday = None - self._bynweekday = None - else: - # If it's one of the valid non-sequence types, convert to a - # single-element sequence before the iterator that builds the - # byweekday set. - if isinstance(byweekday, integer_types) or hasattr(byweekday, "n"): - byweekday = (byweekday,) - - self._byweekday = set() - self._bynweekday = set() - for wday in byweekday: - if isinstance(wday, integer_types): - self._byweekday.add(wday) - elif not wday.n or freq > MONTHLY: - self._byweekday.add(wday.weekday) - else: - self._bynweekday.add((wday.weekday, wday.n)) - - if not self._byweekday: - self._byweekday = None - elif not self._bynweekday: - self._bynweekday = None - - if self._byweekday is not None: - self._byweekday = tuple(sorted(self._byweekday)) - orig_byweekday = [weekday(x) for x in self._byweekday] - else: - orig_byweekday = () - - if self._bynweekday is not None: - self._bynweekday = tuple(sorted(self._bynweekday)) - orig_bynweekday = [weekday(*x) for x in self._bynweekday] - else: - orig_bynweekday = () - - if 'byweekday' not in self._original_rule: - self._original_rule['byweekday'] = tuple(itertools.chain( - orig_byweekday, orig_bynweekday)) - - # byhour - if byhour is None: - if freq < HOURLY: - self._byhour = {dtstart.hour} - else: - self._byhour = None - else: - if isinstance(byhour, integer_types): - byhour = (byhour,) - - if freq == HOURLY: - self._byhour = self.__construct_byset(start=dtstart.hour, - byxxx=byhour, - base=24) - else: - self._byhour = set(byhour) - - self._byhour = tuple(sorted(self._byhour)) - self._original_rule['byhour'] = self._byhour - - # byminute - if byminute is None: - if freq < MINUTELY: - self._byminute = {dtstart.minute} - else: - self._byminute = None - else: - if isinstance(byminute, integer_types): - byminute = (byminute,) - - if freq == MINUTELY: - self._byminute = self.__construct_byset(start=dtstart.minute, - byxxx=byminute, - base=60) - else: - self._byminute = set(byminute) - - self._byminute = tuple(sorted(self._byminute)) - self._original_rule['byminute'] = self._byminute - - # bysecond - if bysecond is None: - if freq < SECONDLY: - self._bysecond = ((dtstart.second,)) - else: - self._bysecond = None - else: - if isinstance(bysecond, integer_types): - bysecond = (bysecond,) - - self._bysecond = set(bysecond) - - if freq == SECONDLY: - self._bysecond = self.__construct_byset(start=dtstart.second, - byxxx=bysecond, - base=60) - else: - self._bysecond = set(bysecond) - - self._bysecond = tuple(sorted(self._bysecond)) - self._original_rule['bysecond'] = self._bysecond - - if self._freq >= HOURLY: - self._timeset = None - else: - self._timeset = [] - for hour in self._byhour: - for minute in self._byminute: - for second in self._bysecond: - self._timeset.append( - datetime.time(hour, minute, second, - tzinfo=self._tzinfo)) - self._timeset.sort() - self._timeset = tuple(self._timeset) - - def __str__(self): - """ - Output a string that would generate this RRULE if passed to rrulestr. - This is mostly compatible with RFC5545, except for the - dateutil-specific extension BYEASTER. - """ - - output = [] - h, m, s = [None] * 3 - if self._dtstart: - output.append(self._dtstart.strftime('DTSTART:%Y%m%dT%H%M%S')) - h, m, s = self._dtstart.timetuple()[3:6] - - parts = ['FREQ=' + FREQNAMES[self._freq]] - if self._interval != 1: - parts.append('INTERVAL=' + str(self._interval)) - - if self._wkst: - parts.append('WKST=' + repr(weekday(self._wkst))[0:2]) - - if self._count is not None: - parts.append('COUNT=' + str(self._count)) - - if self._until: - parts.append(self._until.strftime('UNTIL=%Y%m%dT%H%M%S')) - - if self._original_rule.get('byweekday') is not None: - # The str() method on weekday objects doesn't generate - # RFC5545-compliant strings, so we should modify that. - original_rule = dict(self._original_rule) - wday_strings = [] - for wday in original_rule['byweekday']: - if wday.n: - wday_strings.append('{n:+d}{wday}'.format( - n=wday.n, - wday=repr(wday)[0:2])) - else: - wday_strings.append(repr(wday)) - - original_rule['byweekday'] = wday_strings - else: - original_rule = self._original_rule - - partfmt = '{name}={vals}' - for name, key in [('BYSETPOS', 'bysetpos'), - ('BYMONTH', 'bymonth'), - ('BYMONTHDAY', 'bymonthday'), - ('BYYEARDAY', 'byyearday'), - ('BYWEEKNO', 'byweekno'), - ('BYDAY', 'byweekday'), - ('BYHOUR', 'byhour'), - ('BYMINUTE', 'byminute'), - ('BYSECOND', 'bysecond'), - ('BYEASTER', 'byeaster')]: - value = original_rule.get(key) - if value: - parts.append(partfmt.format(name=name, vals=(','.join(str(v) - for v in value)))) - - output.append('RRULE:' + ';'.join(parts)) - return '\n'.join(output) - - def replace(self, **kwargs): - """Return new rrule with same attributes except for those attributes given new - values by whichever keyword arguments are specified.""" - new_kwargs = {"interval": self._interval, - "count": self._count, - "dtstart": self._dtstart, - "freq": self._freq, - "until": self._until, - "wkst": self._wkst, - "cache": False if self._cache is None else True } - new_kwargs.update(self._original_rule) - new_kwargs.update(kwargs) - return rrule(**new_kwargs) - - def _iter(self): - year, month, day, hour, minute, second, weekday, yearday, _ = \ - self._dtstart.timetuple() - - # Some local variables to speed things up a bit - freq = self._freq - interval = self._interval - wkst = self._wkst - until = self._until - bymonth = self._bymonth - byweekno = self._byweekno - byyearday = self._byyearday - byweekday = self._byweekday - byeaster = self._byeaster - bymonthday = self._bymonthday - bynmonthday = self._bynmonthday - bysetpos = self._bysetpos - byhour = self._byhour - byminute = self._byminute - bysecond = self._bysecond - - ii = _iterinfo(self) - ii.rebuild(year, month) - - getdayset = {YEARLY: ii.ydayset, - MONTHLY: ii.mdayset, - WEEKLY: ii.wdayset, - DAILY: ii.ddayset, - HOURLY: ii.ddayset, - MINUTELY: ii.ddayset, - SECONDLY: ii.ddayset}[freq] - - if freq < HOURLY: - timeset = self._timeset - else: - gettimeset = {HOURLY: ii.htimeset, - MINUTELY: ii.mtimeset, - SECONDLY: ii.stimeset}[freq] - if ((freq >= HOURLY and - self._byhour and hour not in self._byhour) or - (freq >= MINUTELY and - self._byminute and minute not in self._byminute) or - (freq >= SECONDLY and - self._bysecond and second not in self._bysecond)): - timeset = () - else: - timeset = gettimeset(hour, minute, second) - - total = 0 - count = self._count - while True: - # Get dayset with the right frequency - dayset, start, end = getdayset(year, month, day) - - # Do the "hard" work ;-) - filtered = False - for i in dayset[start:end]: - if ((bymonth and ii.mmask[i] not in bymonth) or - (byweekno and not ii.wnomask[i]) or - (byweekday and ii.wdaymask[i] not in byweekday) or - (ii.nwdaymask and not ii.nwdaymask[i]) or - (byeaster and not ii.eastermask[i]) or - ((bymonthday or bynmonthday) and - ii.mdaymask[i] not in bymonthday and - ii.nmdaymask[i] not in bynmonthday) or - (byyearday and - ((i < ii.yearlen and i+1 not in byyearday and - -ii.yearlen+i not in byyearday) or - (i >= ii.yearlen and i+1-ii.yearlen not in byyearday and - -ii.nextyearlen+i-ii.yearlen not in byyearday)))): - dayset[i] = None - filtered = True - - # Output results - if bysetpos and timeset: - poslist = [] - for pos in bysetpos: - if pos < 0: - daypos, timepos = divmod(pos, len(timeset)) - else: - daypos, timepos = divmod(pos-1, len(timeset)) - try: - i = [x for x in dayset[start:end] - if x is not None][daypos] - time = timeset[timepos] - except IndexError: - pass - else: - date = datetime.date.fromordinal(ii.yearordinal+i) - res = datetime.datetime.combine(date, time) - if res not in poslist: - poslist.append(res) - poslist.sort() - for res in poslist: - if until and res > until: - self._len = total - return - elif res >= self._dtstart: - if count is not None: - count -= 1 - if count < 0: - self._len = total - return - total += 1 - yield res - else: - for i in dayset[start:end]: - if i is not None: - date = datetime.date.fromordinal(ii.yearordinal + i) - for time in timeset: - res = datetime.datetime.combine(date, time) - if until and res > until: - self._len = total - return - elif res >= self._dtstart: - if count is not None: - count -= 1 - if count < 0: - self._len = total - return - - total += 1 - yield res - - # Handle frequency and interval - fixday = False - if freq == YEARLY: - year += interval - if year > datetime.MAXYEAR: - self._len = total - return - ii.rebuild(year, month) - elif freq == MONTHLY: - month += interval - if month > 12: - div, mod = divmod(month, 12) - month = mod - year += div - if month == 0: - month = 12 - year -= 1 - if year > datetime.MAXYEAR: - self._len = total - return - ii.rebuild(year, month) - elif freq == WEEKLY: - if wkst > weekday: - day += -(weekday+1+(6-wkst))+self._interval*7 - else: - day += -(weekday-wkst)+self._interval*7 - weekday = wkst - fixday = True - elif freq == DAILY: - day += interval - fixday = True - elif freq == HOURLY: - if filtered: - # Jump to one iteration before next day - hour += ((23-hour)//interval)*interval - - if byhour: - ndays, hour = self.__mod_distance(value=hour, - byxxx=self._byhour, - base=24) - else: - ndays, hour = divmod(hour+interval, 24) - - if ndays: - day += ndays - fixday = True - - timeset = gettimeset(hour, minute, second) - elif freq == MINUTELY: - if filtered: - # Jump to one iteration before next day - minute += ((1439-(hour*60+minute))//interval)*interval - - valid = False - rep_rate = (24*60) - for j in range(rep_rate // gcd(interval, rep_rate)): - if byminute: - nhours, minute = \ - self.__mod_distance(value=minute, - byxxx=self._byminute, - base=60) - else: - nhours, minute = divmod(minute+interval, 60) - - div, hour = divmod(hour+nhours, 24) - if div: - day += div - fixday = True - filtered = False - - if not byhour or hour in byhour: - valid = True - break - - if not valid: - raise ValueError('Invalid combination of interval and ' + - 'byhour resulting in empty rule.') - - timeset = gettimeset(hour, minute, second) - elif freq == SECONDLY: - if filtered: - # Jump to one iteration before next day - second += (((86399 - (hour * 3600 + minute * 60 + second)) - // interval) * interval) - - rep_rate = (24 * 3600) - valid = False - for j in range(0, rep_rate // gcd(interval, rep_rate)): - if bysecond: - nminutes, second = \ - self.__mod_distance(value=second, - byxxx=self._bysecond, - base=60) - else: - nminutes, second = divmod(second+interval, 60) - - div, minute = divmod(minute+nminutes, 60) - if div: - hour += div - div, hour = divmod(hour, 24) - if div: - day += div - fixday = True - - if ((not byhour or hour in byhour) and - (not byminute or minute in byminute) and - (not bysecond or second in bysecond)): - valid = True - break - - if not valid: - raise ValueError('Invalid combination of interval, ' + - 'byhour and byminute resulting in empty' + - ' rule.') - - timeset = gettimeset(hour, minute, second) - - if fixday and day > 28: - daysinmonth = calendar.monthrange(year, month)[1] - if day > daysinmonth: - while day > daysinmonth: - day -= daysinmonth - month += 1 - if month == 13: - month = 1 - year += 1 - if year > datetime.MAXYEAR: - self._len = total - return - daysinmonth = calendar.monthrange(year, month)[1] - ii.rebuild(year, month) - - def __construct_byset(self, start, byxxx, base): - """ - If a `BYXXX` sequence is passed to the constructor at the same level as - `FREQ` (e.g. `FREQ=HOURLY,BYHOUR={2,4,7},INTERVAL=3`), there are some - specifications which cannot be reached given some starting conditions. - - This occurs whenever the interval is not coprime with the base of a - given unit and the difference between the starting position and the - ending position is not coprime with the greatest common denominator - between the interval and the base. For example, with a FREQ of hourly - starting at 17:00 and an interval of 4, the only valid values for - BYHOUR would be {21, 1, 5, 9, 13, 17}, because 4 and 24 are not - coprime. - - :param start: - Specifies the starting position. - :param byxxx: - An iterable containing the list of allowed values. - :param base: - The largest allowable value for the specified frequency (e.g. - 24 hours, 60 minutes). - - This does not preserve the type of the iterable, returning a set, since - the values should be unique and the order is irrelevant, this will - speed up later lookups. - - In the event of an empty set, raises a :exception:`ValueError`, as this - results in an empty rrule. - """ - - cset = set() - - # Support a single byxxx value. - if isinstance(byxxx, integer_types): - byxxx = (byxxx, ) - - for num in byxxx: - i_gcd = gcd(self._interval, base) - # Use divmod rather than % because we need to wrap negative nums. - if i_gcd == 1 or divmod(num - start, i_gcd)[1] == 0: - cset.add(num) - - if len(cset) == 0: - raise ValueError("Invalid rrule byxxx generates an empty set.") - - return cset - - def __mod_distance(self, value, byxxx, base): - """ - Calculates the next value in a sequence where the `FREQ` parameter is - specified along with a `BYXXX` parameter at the same "level" - (e.g. `HOURLY` specified with `BYHOUR`). - - :param value: - The old value of the component. - :param byxxx: - The `BYXXX` set, which should have been generated by - `rrule._construct_byset`, or something else which checks that a - valid rule is present. - :param base: - The largest allowable value for the specified frequency (e.g. - 24 hours, 60 minutes). - - If a valid value is not found after `base` iterations (the maximum - number before the sequence would start to repeat), this raises a - :exception:`ValueError`, as no valid values were found. - - This returns a tuple of `divmod(n*interval, base)`, where `n` is the - smallest number of `interval` repetitions until the next specified - value in `byxxx` is found. - """ - accumulator = 0 - for ii in range(1, base + 1): - # Using divmod() over % to account for negative intervals - div, value = divmod(value + self._interval, base) - accumulator += div - if value in byxxx: - return (accumulator, value) - - -class _iterinfo(object): - __slots__ = ["rrule", "lastyear", "lastmonth", - "yearlen", "nextyearlen", "yearordinal", "yearweekday", - "mmask", "mrange", "mdaymask", "nmdaymask", - "wdaymask", "wnomask", "nwdaymask", "eastermask"] - - def __init__(self, rrule): - for attr in self.__slots__: - setattr(self, attr, None) - self.rrule = rrule - - def rebuild(self, year, month): - # Every mask is 7 days longer to handle cross-year weekly periods. - rr = self.rrule - if year != self.lastyear: - self.yearlen = 365 + calendar.isleap(year) - self.nextyearlen = 365 + calendar.isleap(year + 1) - firstyday = datetime.date(year, 1, 1) - self.yearordinal = firstyday.toordinal() - self.yearweekday = firstyday.weekday() - - wday = datetime.date(year, 1, 1).weekday() - if self.yearlen == 365: - self.mmask = M365MASK - self.mdaymask = MDAY365MASK - self.nmdaymask = NMDAY365MASK - self.wdaymask = WDAYMASK[wday:] - self.mrange = M365RANGE - else: - self.mmask = M366MASK - self.mdaymask = MDAY366MASK - self.nmdaymask = NMDAY366MASK - self.wdaymask = WDAYMASK[wday:] - self.mrange = M366RANGE - - if not rr._byweekno: - self.wnomask = None - else: - self.wnomask = [0]*(self.yearlen+7) - # no1wkst = firstwkst = self.wdaymask.index(rr._wkst) - no1wkst = firstwkst = (7-self.yearweekday+rr._wkst) % 7 - if no1wkst >= 4: - no1wkst = 0 - # Number of days in the year, plus the days we got - # from last year. - wyearlen = self.yearlen+(self.yearweekday-rr._wkst) % 7 - else: - # Number of days in the year, minus the days we - # left in last year. - wyearlen = self.yearlen-no1wkst - div, mod = divmod(wyearlen, 7) - numweeks = div+mod//4 - for n in rr._byweekno: - if n < 0: - n += numweeks+1 - if not (0 < n <= numweeks): - continue - if n > 1: - i = no1wkst+(n-1)*7 - if no1wkst != firstwkst: - i -= 7-firstwkst - else: - i = no1wkst - for j in range(7): - self.wnomask[i] = 1 - i += 1 - if self.wdaymask[i] == rr._wkst: - break - if 1 in rr._byweekno: - # Check week number 1 of next year as well - # TODO: Check -numweeks for next year. - i = no1wkst+numweeks*7 - if no1wkst != firstwkst: - i -= 7-firstwkst - if i < self.yearlen: - # If week starts in next year, we - # don't care about it. - for j in range(7): - self.wnomask[i] = 1 - i += 1 - if self.wdaymask[i] == rr._wkst: - break - if no1wkst: - # Check last week number of last year as - # well. If no1wkst is 0, either the year - # started on week start, or week number 1 - # got days from last year, so there are no - # days from last year's last week number in - # this year. - if -1 not in rr._byweekno: - lyearweekday = datetime.date(year-1, 1, 1).weekday() - lno1wkst = (7-lyearweekday+rr._wkst) % 7 - lyearlen = 365+calendar.isleap(year-1) - if lno1wkst >= 4: - lno1wkst = 0 - lnumweeks = 52+(lyearlen + - (lyearweekday-rr._wkst) % 7) % 7//4 - else: - lnumweeks = 52+(self.yearlen-no1wkst) % 7//4 - else: - lnumweeks = -1 - if lnumweeks in rr._byweekno: - for i in range(no1wkst): - self.wnomask[i] = 1 - - if (rr._bynweekday and (month != self.lastmonth or - year != self.lastyear)): - ranges = [] - if rr._freq == YEARLY: - if rr._bymonth: - for month in rr._bymonth: - ranges.append(self.mrange[month-1:month+1]) - else: - ranges = [(0, self.yearlen)] - elif rr._freq == MONTHLY: - ranges = [self.mrange[month-1:month+1]] - if ranges: - # Weekly frequency won't get here, so we may not - # care about cross-year weekly periods. - self.nwdaymask = [0]*self.yearlen - for first, last in ranges: - last -= 1 - for wday, n in rr._bynweekday: - if n < 0: - i = last+(n+1)*7 - i -= (self.wdaymask[i]-wday) % 7 - else: - i = first+(n-1)*7 - i += (7-self.wdaymask[i]+wday) % 7 - if first <= i <= last: - self.nwdaymask[i] = 1 - - if rr._byeaster: - self.eastermask = [0]*(self.yearlen+7) - eyday = easter.easter(year).toordinal()-self.yearordinal - for offset in rr._byeaster: - self.eastermask[eyday+offset] = 1 - - self.lastyear = year - self.lastmonth = month - - def ydayset(self, year, month, day): - return list(range(self.yearlen)), 0, self.yearlen - - def mdayset(self, year, month, day): - dset = [None]*self.yearlen - start, end = self.mrange[month-1:month+1] - for i in range(start, end): - dset[i] = i - return dset, start, end - - def wdayset(self, year, month, day): - # We need to handle cross-year weeks here. - dset = [None]*(self.yearlen+7) - i = datetime.date(year, month, day).toordinal()-self.yearordinal - start = i - for j in range(7): - dset[i] = i - i += 1 - # if (not (0 <= i < self.yearlen) or - # self.wdaymask[i] == self.rrule._wkst): - # This will cross the year boundary, if necessary. - if self.wdaymask[i] == self.rrule._wkst: - break - return dset, start, i - - def ddayset(self, year, month, day): - dset = [None] * self.yearlen - i = datetime.date(year, month, day).toordinal() - self.yearordinal - dset[i] = i - return dset, i, i + 1 - - def htimeset(self, hour, minute, second): - tset = [] - rr = self.rrule - for minute in rr._byminute: - for second in rr._bysecond: - tset.append(datetime.time(hour, minute, second, - tzinfo=rr._tzinfo)) - tset.sort() - return tset - - def mtimeset(self, hour, minute, second): - tset = [] - rr = self.rrule - for second in rr._bysecond: - tset.append(datetime.time(hour, minute, second, tzinfo=rr._tzinfo)) - tset.sort() - return tset - - def stimeset(self, hour, minute, second): - return (datetime.time(hour, minute, second, - tzinfo=self.rrule._tzinfo),) - - -class rruleset(rrulebase): - """ The rruleset type allows more complex recurrence setups, mixing - multiple rules, dates, exclusion rules, and exclusion dates. The type - constructor takes the following keyword arguments: - - :param cache: If True, caching of results will be enabled, improving - performance of multiple queries considerably. """ - - class _genitem(object): - def __init__(self, genlist, gen): - try: - self.dt = advance_iterator(gen) - genlist.append(self) - except StopIteration: - pass - self.genlist = genlist - self.gen = gen - - def __next__(self): - try: - self.dt = advance_iterator(self.gen) - except StopIteration: - if self.genlist[0] is self: - heapq.heappop(self.genlist) - else: - self.genlist.remove(self) - heapq.heapify(self.genlist) - - next = __next__ - - def __lt__(self, other): - return self.dt < other.dt - - def __gt__(self, other): - return self.dt > other.dt - - def __eq__(self, other): - return self.dt == other.dt - - def __ne__(self, other): - return self.dt != other.dt - - def __init__(self, cache=False): - super(rruleset, self).__init__(cache) - self._rrule = [] - self._rdate = [] - self._exrule = [] - self._exdate = [] - - @_invalidates_cache - def rrule(self, rrule): - """ Include the given :py:class:`rrule` instance in the recurrence set - generation. """ - self._rrule.append(rrule) - - @_invalidates_cache - def rdate(self, rdate): - """ Include the given :py:class:`datetime` instance in the recurrence - set generation. """ - self._rdate.append(rdate) - - @_invalidates_cache - def exrule(self, exrule): - """ Include the given rrule instance in the recurrence set exclusion - list. Dates which are part of the given recurrence rules will not - be generated, even if some inclusive rrule or rdate matches them. - """ - self._exrule.append(exrule) - - @_invalidates_cache - def exdate(self, exdate): - """ Include the given datetime instance in the recurrence set - exclusion list. Dates included that way will not be generated, - even if some inclusive rrule or rdate matches them. """ - self._exdate.append(exdate) - - def _iter(self): - rlist = [] - self._rdate.sort() - self._genitem(rlist, iter(self._rdate)) - for gen in [iter(x) for x in self._rrule]: - self._genitem(rlist, gen) - exlist = [] - self._exdate.sort() - self._genitem(exlist, iter(self._exdate)) - for gen in [iter(x) for x in self._exrule]: - self._genitem(exlist, gen) - lastdt = None - total = 0 - heapq.heapify(rlist) - heapq.heapify(exlist) - while rlist: - ritem = rlist[0] - if not lastdt or lastdt != ritem.dt: - while exlist and exlist[0] < ritem: - exitem = exlist[0] - advance_iterator(exitem) - if exlist and exlist[0] is exitem: - heapq.heapreplace(exlist, exitem) - if not exlist or ritem != exlist[0]: - total += 1 - yield ritem.dt - lastdt = ritem.dt - advance_iterator(ritem) - if rlist and rlist[0] is ritem: - heapq.heapreplace(rlist, ritem) - self._len = total - - - - -class _rrulestr(object): - """ Parses a string representation of a recurrence rule or set of - recurrence rules. - - :param s: - Required, a string defining one or more recurrence rules. - - :param dtstart: - If given, used as the default recurrence start if not specified in the - rule string. - - :param cache: - If set ``True`` caching of results will be enabled, improving - performance of multiple queries considerably. - - :param unfold: - If set ``True`` indicates that a rule string is split over more - than one line and should be joined before processing. - - :param forceset: - If set ``True`` forces a :class:`dateutil.rrule.rruleset` to - be returned. - - :param compatible: - If set ``True`` forces ``unfold`` and ``forceset`` to be ``True``. - - :param ignoretz: - If set ``True``, time zones in parsed strings are ignored and a naive - :class:`datetime.datetime` object is returned. - - :param tzids: - If given, a callable or mapping used to retrieve a - :class:`datetime.tzinfo` from a string representation. - Defaults to :func:`dateutil.tz.gettz`. - - :param tzinfos: - Additional time zone names / aliases which may be present in a string - representation. See :func:`dateutil.parser.parse` for more - information. - - :return: - Returns a :class:`dateutil.rrule.rruleset` or - :class:`dateutil.rrule.rrule` - """ - - _freq_map = {"YEARLY": YEARLY, - "MONTHLY": MONTHLY, - "WEEKLY": WEEKLY, - "DAILY": DAILY, - "HOURLY": HOURLY, - "MINUTELY": MINUTELY, - "SECONDLY": SECONDLY} - - _weekday_map = {"MO": 0, "TU": 1, "WE": 2, "TH": 3, - "FR": 4, "SA": 5, "SU": 6} - - def _handle_int(self, rrkwargs, name, value, **kwargs): - rrkwargs[name.lower()] = int(value) - - def _handle_int_list(self, rrkwargs, name, value, **kwargs): - rrkwargs[name.lower()] = [int(x) for x in value.split(',')] - - _handle_INTERVAL = _handle_int - _handle_COUNT = _handle_int - _handle_BYSETPOS = _handle_int_list - _handle_BYMONTH = _handle_int_list - _handle_BYMONTHDAY = _handle_int_list - _handle_BYYEARDAY = _handle_int_list - _handle_BYEASTER = _handle_int_list - _handle_BYWEEKNO = _handle_int_list - _handle_BYHOUR = _handle_int_list - _handle_BYMINUTE = _handle_int_list - _handle_BYSECOND = _handle_int_list - - def _handle_FREQ(self, rrkwargs, name, value, **kwargs): - rrkwargs["freq"] = self._freq_map[value] - - def _handle_UNTIL(self, rrkwargs, name, value, **kwargs): - global parser - if not parser: - from dateutil import parser - try: - rrkwargs["until"] = parser.parse(value, - ignoretz=kwargs.get("ignoretz"), - tzinfos=kwargs.get("tzinfos")) - except ValueError: - raise ValueError("invalid until date") - - def _handle_WKST(self, rrkwargs, name, value, **kwargs): - rrkwargs["wkst"] = self._weekday_map[value] - - def _handle_BYWEEKDAY(self, rrkwargs, name, value, **kwargs): - """ - Two ways to specify this: +1MO or MO(+1) - """ - l = [] - for wday in value.split(','): - if '(' in wday: - # If it's of the form TH(+1), etc. - splt = wday.split('(') - w = splt[0] - n = int(splt[1][:-1]) - elif len(wday): - # If it's of the form +1MO - for i in range(len(wday)): - if wday[i] not in '+-0123456789': - break - n = wday[:i] or None - w = wday[i:] - if n: - n = int(n) - else: - raise ValueError("Invalid (empty) BYDAY specification.") - - l.append(weekdays[self._weekday_map[w]](n)) - rrkwargs["byweekday"] = l - - _handle_BYDAY = _handle_BYWEEKDAY - - def _parse_rfc_rrule(self, line, - dtstart=None, - cache=False, - ignoretz=False, - tzinfos=None): - if line.find(':') != -1: - name, value = line.split(':') - if name != "RRULE": - raise ValueError("unknown parameter name") - else: - value = line - rrkwargs = {} - for pair in value.split(';'): - name, value = pair.split('=') - name = name.upper() - value = value.upper() - try: - getattr(self, "_handle_"+name)(rrkwargs, name, value, - ignoretz=ignoretz, - tzinfos=tzinfos) - except AttributeError: - raise ValueError("unknown parameter '%s'" % name) - except (KeyError, ValueError): - raise ValueError("invalid '%s': %s" % (name, value)) - return rrule(dtstart=dtstart, cache=cache, **rrkwargs) - - def _parse_date_value(self, date_value, parms, rule_tzids, - ignoretz, tzids, tzinfos): - global parser - if not parser: - from dateutil import parser - - datevals = [] - value_found = False - TZID = None - - for parm in parms: - if parm.startswith("TZID="): - try: - tzkey = rule_tzids[parm.split('TZID=')[-1]] - except KeyError: - continue - if tzids is None: - from . import tz - tzlookup = tz.gettz - elif callable(tzids): - tzlookup = tzids - else: - tzlookup = getattr(tzids, 'get', None) - if tzlookup is None: - msg = ('tzids must be a callable, mapping, or None, ' - 'not %s' % tzids) - raise ValueError(msg) - - TZID = tzlookup(tzkey) - continue - - # RFC 5445 3.8.2.4: The VALUE parameter is optional, but may be found - # only once. - if parm not in {"VALUE=DATE-TIME", "VALUE=DATE"}: - raise ValueError("unsupported parm: " + parm) - else: - if value_found: - msg = ("Duplicate value parameter found in: " + parm) - raise ValueError(msg) - value_found = True - - for datestr in date_value.split(','): - date = parser.parse(datestr, ignoretz=ignoretz, tzinfos=tzinfos) - if TZID is not None: - if date.tzinfo is None: - date = date.replace(tzinfo=TZID) - else: - raise ValueError('DTSTART/EXDATE specifies multiple timezone') - datevals.append(date) - - return datevals - - def _parse_rfc(self, s, - dtstart=None, - cache=False, - unfold=False, - forceset=False, - compatible=False, - ignoretz=False, - tzids=None, - tzinfos=None): - global parser - if compatible: - forceset = True - unfold = True - - TZID_NAMES = dict(map( - lambda x: (x.upper(), x), - re.findall('TZID=(?P[^:]+):', s) - )) - s = s.upper() - if not s.strip(): - raise ValueError("empty string") - if unfold: - lines = s.splitlines() - i = 0 - while i < len(lines): - line = lines[i].rstrip() - if not line: - del lines[i] - elif i > 0 and line[0] == " ": - lines[i-1] += line[1:] - del lines[i] - else: - i += 1 - else: - lines = s.split() - if (not forceset and len(lines) == 1 and (s.find(':') == -1 or - s.startswith('RRULE:'))): - return self._parse_rfc_rrule(lines[0], cache=cache, - dtstart=dtstart, ignoretz=ignoretz, - tzinfos=tzinfos) - else: - rrulevals = [] - rdatevals = [] - exrulevals = [] - exdatevals = [] - for line in lines: - if not line: - continue - if line.find(':') == -1: - name = "RRULE" - value = line - else: - name, value = line.split(':', 1) - parms = name.split(';') - if not parms: - raise ValueError("empty property name") - name = parms[0] - parms = parms[1:] - if name == "RRULE": - for parm in parms: - raise ValueError("unsupported RRULE parm: "+parm) - rrulevals.append(value) - elif name == "RDATE": - for parm in parms: - if parm != "VALUE=DATE-TIME": - raise ValueError("unsupported RDATE parm: "+parm) - rdatevals.append(value) - elif name == "EXRULE": - for parm in parms: - raise ValueError("unsupported EXRULE parm: "+parm) - exrulevals.append(value) - elif name == "EXDATE": - exdatevals.extend( - self._parse_date_value(value, parms, - TZID_NAMES, ignoretz, - tzids, tzinfos) - ) - elif name == "DTSTART": - dtvals = self._parse_date_value(value, parms, TZID_NAMES, - ignoretz, tzids, tzinfos) - if len(dtvals) != 1: - raise ValueError("Multiple DTSTART values specified:" + - value) - dtstart = dtvals[0] - else: - raise ValueError("unsupported property: "+name) - if (forceset or len(rrulevals) > 1 or rdatevals - or exrulevals or exdatevals): - if not parser and (rdatevals or exdatevals): - from dateutil import parser - rset = rruleset(cache=cache) - for value in rrulevals: - rset.rrule(self._parse_rfc_rrule(value, dtstart=dtstart, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in rdatevals: - for datestr in value.split(','): - rset.rdate(parser.parse(datestr, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in exrulevals: - rset.exrule(self._parse_rfc_rrule(value, dtstart=dtstart, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in exdatevals: - rset.exdate(value) - if compatible and dtstart: - rset.rdate(dtstart) - return rset - else: - return self._parse_rfc_rrule(rrulevals[0], - dtstart=dtstart, - cache=cache, - ignoretz=ignoretz, - tzinfos=tzinfos) - - def __call__(self, s, **kwargs): - return self._parse_rfc(s, **kwargs) - - -rrulestr = _rrulestr() - -# vim:ts=4:sw=4:et diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__init__.py b/venv/lib/python3.11/site-packages/dateutil/tz/__init__.py deleted file mode 100644 index af1352c..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tz/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -# -*- coding: utf-8 -*- -from .tz import * -from .tz import __doc__ - -__all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange", - "tzstr", "tzical", "tzwin", "tzwinlocal", "gettz", - "enfold", "datetime_ambiguous", "datetime_exists", - "resolve_imaginary", "UTC", "DeprecatedTzFormatWarning"] - - -class DeprecatedTzFormatWarning(Warning): - """Warning raised when time zones are parsed from deprecated formats.""" diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 00dba28..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_common.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_common.cpython-311.pyc deleted file mode 100644 index 7448df9..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_common.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_factories.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_factories.cpython-311.pyc deleted file mode 100644 index 1eb64c3..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/_factories.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/tz.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/tz.cpython-311.pyc deleted file mode 100644 index ea8bd93..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/tz.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/win.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/win.cpython-311.pyc deleted file mode 100644 index aee4409..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/tz/__pycache__/win.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/_common.py b/venv/lib/python3.11/site-packages/dateutil/tz/_common.py deleted file mode 100644 index e6ac118..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tz/_common.py +++ /dev/null @@ -1,419 +0,0 @@ -from six import PY2 - -from functools import wraps - -from datetime import datetime, timedelta, tzinfo - - -ZERO = timedelta(0) - -__all__ = ['tzname_in_python2', 'enfold'] - - -def tzname_in_python2(namefunc): - """Change unicode output into bytestrings in Python 2 - - tzname() API changed in Python 3. It used to return bytes, but was changed - to unicode strings - """ - if PY2: - @wraps(namefunc) - def adjust_encoding(*args, **kwargs): - name = namefunc(*args, **kwargs) - if name is not None: - name = name.encode() - - return name - - return adjust_encoding - else: - return namefunc - - -# The following is adapted from Alexander Belopolsky's tz library -# https://github.com/abalkin/tz -if hasattr(datetime, 'fold'): - # This is the pre-python 3.6 fold situation - def enfold(dt, fold=1): - """ - Provides a unified interface for assigning the ``fold`` attribute to - datetimes both before and after the implementation of PEP-495. - - :param fold: - The value for the ``fold`` attribute in the returned datetime. This - should be either 0 or 1. - - :return: - Returns an object for which ``getattr(dt, 'fold', 0)`` returns - ``fold`` for all versions of Python. In versions prior to - Python 3.6, this is a ``_DatetimeWithFold`` object, which is a - subclass of :py:class:`datetime.datetime` with the ``fold`` - attribute added, if ``fold`` is 1. - - .. versionadded:: 2.6.0 - """ - return dt.replace(fold=fold) - -else: - class _DatetimeWithFold(datetime): - """ - This is a class designed to provide a PEP 495-compliant interface for - Python versions before 3.6. It is used only for dates in a fold, so - the ``fold`` attribute is fixed at ``1``. - - .. versionadded:: 2.6.0 - """ - __slots__ = () - - def replace(self, *args, **kwargs): - """ - Return a datetime with the same attributes, except for those - attributes given new values by whichever keyword arguments are - specified. Note that tzinfo=None can be specified to create a naive - datetime from an aware datetime with no conversion of date and time - data. - - This is reimplemented in ``_DatetimeWithFold`` because pypy3 will - return a ``datetime.datetime`` even if ``fold`` is unchanged. - """ - argnames = ( - 'year', 'month', 'day', 'hour', 'minute', 'second', - 'microsecond', 'tzinfo' - ) - - for arg, argname in zip(args, argnames): - if argname in kwargs: - raise TypeError('Duplicate argument: {}'.format(argname)) - - kwargs[argname] = arg - - for argname in argnames: - if argname not in kwargs: - kwargs[argname] = getattr(self, argname) - - dt_class = self.__class__ if kwargs.get('fold', 1) else datetime - - return dt_class(**kwargs) - - @property - def fold(self): - return 1 - - def enfold(dt, fold=1): - """ - Provides a unified interface for assigning the ``fold`` attribute to - datetimes both before and after the implementation of PEP-495. - - :param fold: - The value for the ``fold`` attribute in the returned datetime. This - should be either 0 or 1. - - :return: - Returns an object for which ``getattr(dt, 'fold', 0)`` returns - ``fold`` for all versions of Python. In versions prior to - Python 3.6, this is a ``_DatetimeWithFold`` object, which is a - subclass of :py:class:`datetime.datetime` with the ``fold`` - attribute added, if ``fold`` is 1. - - .. versionadded:: 2.6.0 - """ - if getattr(dt, 'fold', 0) == fold: - return dt - - args = dt.timetuple()[:6] - args += (dt.microsecond, dt.tzinfo) - - if fold: - return _DatetimeWithFold(*args) - else: - return datetime(*args) - - -def _validate_fromutc_inputs(f): - """ - The CPython version of ``fromutc`` checks that the input is a ``datetime`` - object and that ``self`` is attached as its ``tzinfo``. - """ - @wraps(f) - def fromutc(self, dt): - if not isinstance(dt, datetime): - raise TypeError("fromutc() requires a datetime argument") - if dt.tzinfo is not self: - raise ValueError("dt.tzinfo is not self") - - return f(self, dt) - - return fromutc - - -class _tzinfo(tzinfo): - """ - Base class for all ``dateutil`` ``tzinfo`` objects. - """ - - def is_ambiguous(self, dt): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - - - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - - dt = dt.replace(tzinfo=self) - - wall_0 = enfold(dt, fold=0) - wall_1 = enfold(dt, fold=1) - - same_offset = wall_0.utcoffset() == wall_1.utcoffset() - same_dt = wall_0.replace(tzinfo=None) == wall_1.replace(tzinfo=None) - - return same_dt and not same_offset - - def _fold_status(self, dt_utc, dt_wall): - """ - Determine the fold status of a "wall" datetime, given a representation - of the same datetime as a (naive) UTC datetime. This is calculated based - on the assumption that ``dt.utcoffset() - dt.dst()`` is constant for all - datetimes, and that this offset is the actual number of hours separating - ``dt_utc`` and ``dt_wall``. - - :param dt_utc: - Representation of the datetime as UTC - - :param dt_wall: - Representation of the datetime as "wall time". This parameter must - either have a `fold` attribute or have a fold-naive - :class:`datetime.tzinfo` attached, otherwise the calculation may - fail. - """ - if self.is_ambiguous(dt_wall): - delta_wall = dt_wall - dt_utc - _fold = int(delta_wall == (dt_utc.utcoffset() - dt_utc.dst())) - else: - _fold = 0 - - return _fold - - def _fold(self, dt): - return getattr(dt, 'fold', 0) - - def _fromutc(self, dt): - """ - Given a timezone-aware datetime in a given timezone, calculates a - timezone-aware datetime in a new timezone. - - Since this is the one time that we *know* we have an unambiguous - datetime object, we take this opportunity to determine whether the - datetime is ambiguous and in a "fold" state (e.g. if it's the first - occurrence, chronologically, of the ambiguous datetime). - - :param dt: - A timezone-aware :class:`datetime.datetime` object. - """ - - # Re-implement the algorithm from Python's datetime.py - dtoff = dt.utcoffset() - if dtoff is None: - raise ValueError("fromutc() requires a non-None utcoffset() " - "result") - - # The original datetime.py code assumes that `dst()` defaults to - # zero during ambiguous times. PEP 495 inverts this presumption, so - # for pre-PEP 495 versions of python, we need to tweak the algorithm. - dtdst = dt.dst() - if dtdst is None: - raise ValueError("fromutc() requires a non-None dst() result") - delta = dtoff - dtdst - - dt += delta - # Set fold=1 so we can default to being in the fold for - # ambiguous dates. - dtdst = enfold(dt, fold=1).dst() - if dtdst is None: - raise ValueError("fromutc(): dt.dst gave inconsistent " - "results; cannot convert") - return dt + dtdst - - @_validate_fromutc_inputs - def fromutc(self, dt): - """ - Given a timezone-aware datetime in a given timezone, calculates a - timezone-aware datetime in a new timezone. - - Since this is the one time that we *know* we have an unambiguous - datetime object, we take this opportunity to determine whether the - datetime is ambiguous and in a "fold" state (e.g. if it's the first - occurrence, chronologically, of the ambiguous datetime). - - :param dt: - A timezone-aware :class:`datetime.datetime` object. - """ - dt_wall = self._fromutc(dt) - - # Calculate the fold status given the two datetimes. - _fold = self._fold_status(dt, dt_wall) - - # Set the default fold value for ambiguous dates - return enfold(dt_wall, fold=_fold) - - -class tzrangebase(_tzinfo): - """ - This is an abstract base class for time zones represented by an annual - transition into and out of DST. Child classes should implement the following - methods: - - * ``__init__(self, *args, **kwargs)`` - * ``transitions(self, year)`` - this is expected to return a tuple of - datetimes representing the DST on and off transitions in standard - time. - - A fully initialized ``tzrangebase`` subclass should also provide the - following attributes: - * ``hasdst``: Boolean whether or not the zone uses DST. - * ``_dst_offset`` / ``_std_offset``: :class:`datetime.timedelta` objects - representing the respective UTC offsets. - * ``_dst_abbr`` / ``_std_abbr``: Strings representing the timezone short - abbreviations in DST and STD, respectively. - * ``_hasdst``: Whether or not the zone has DST. - - .. versionadded:: 2.6.0 - """ - def __init__(self): - raise NotImplementedError('tzrangebase is an abstract base class') - - def utcoffset(self, dt): - isdst = self._isdst(dt) - - if isdst is None: - return None - elif isdst: - return self._dst_offset - else: - return self._std_offset - - def dst(self, dt): - isdst = self._isdst(dt) - - if isdst is None: - return None - elif isdst: - return self._dst_base_offset - else: - return ZERO - - @tzname_in_python2 - def tzname(self, dt): - if self._isdst(dt): - return self._dst_abbr - else: - return self._std_abbr - - def fromutc(self, dt): - """ Given a datetime in UTC, return local time """ - if not isinstance(dt, datetime): - raise TypeError("fromutc() requires a datetime argument") - - if dt.tzinfo is not self: - raise ValueError("dt.tzinfo is not self") - - # Get transitions - if there are none, fixed offset - transitions = self.transitions(dt.year) - if transitions is None: - return dt + self.utcoffset(dt) - - # Get the transition times in UTC - dston, dstoff = transitions - - dston -= self._std_offset - dstoff -= self._std_offset - - utc_transitions = (dston, dstoff) - dt_utc = dt.replace(tzinfo=None) - - isdst = self._naive_isdst(dt_utc, utc_transitions) - - if isdst: - dt_wall = dt + self._dst_offset - else: - dt_wall = dt + self._std_offset - - _fold = int(not isdst and self.is_ambiguous(dt_wall)) - - return enfold(dt_wall, fold=_fold) - - def is_ambiguous(self, dt): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - - - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - if not self.hasdst: - return False - - start, end = self.transitions(dt.year) - - dt = dt.replace(tzinfo=None) - return (end <= dt < end + self._dst_base_offset) - - def _isdst(self, dt): - if not self.hasdst: - return False - elif dt is None: - return None - - transitions = self.transitions(dt.year) - - if transitions is None: - return False - - dt = dt.replace(tzinfo=None) - - isdst = self._naive_isdst(dt, transitions) - - # Handle ambiguous dates - if not isdst and self.is_ambiguous(dt): - return not self._fold(dt) - else: - return isdst - - def _naive_isdst(self, dt, transitions): - dston, dstoff = transitions - - dt = dt.replace(tzinfo=None) - - if dston < dstoff: - isdst = dston <= dt < dstoff - else: - isdst = not dstoff <= dt < dston - - return isdst - - @property - def _dst_base_offset(self): - return self._dst_offset - self._std_offset - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - return "%s(...)" % self.__class__.__name__ - - __reduce__ = object.__reduce__ diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/_factories.py b/venv/lib/python3.11/site-packages/dateutil/tz/_factories.py deleted file mode 100644 index f8a6589..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tz/_factories.py +++ /dev/null @@ -1,80 +0,0 @@ -from datetime import timedelta -import weakref -from collections import OrderedDict - -from six.moves import _thread - - -class _TzSingleton(type): - def __init__(cls, *args, **kwargs): - cls.__instance = None - super(_TzSingleton, cls).__init__(*args, **kwargs) - - def __call__(cls): - if cls.__instance is None: - cls.__instance = super(_TzSingleton, cls).__call__() - return cls.__instance - - -class _TzFactory(type): - def instance(cls, *args, **kwargs): - """Alternate constructor that returns a fresh instance""" - return type.__call__(cls, *args, **kwargs) - - -class _TzOffsetFactory(_TzFactory): - def __init__(cls, *args, **kwargs): - cls.__instances = weakref.WeakValueDictionary() - cls.__strong_cache = OrderedDict() - cls.__strong_cache_size = 8 - - cls._cache_lock = _thread.allocate_lock() - - def __call__(cls, name, offset): - if isinstance(offset, timedelta): - key = (name, offset.total_seconds()) - else: - key = (name, offset) - - instance = cls.__instances.get(key, None) - if instance is None: - instance = cls.__instances.setdefault(key, - cls.instance(name, offset)) - - # This lock may not be necessary in Python 3. See GH issue #901 - with cls._cache_lock: - cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) - - # Remove an item if the strong cache is overpopulated - if len(cls.__strong_cache) > cls.__strong_cache_size: - cls.__strong_cache.popitem(last=False) - - return instance - - -class _TzStrFactory(_TzFactory): - def __init__(cls, *args, **kwargs): - cls.__instances = weakref.WeakValueDictionary() - cls.__strong_cache = OrderedDict() - cls.__strong_cache_size = 8 - - cls.__cache_lock = _thread.allocate_lock() - - def __call__(cls, s, posix_offset=False): - key = (s, posix_offset) - instance = cls.__instances.get(key, None) - - if instance is None: - instance = cls.__instances.setdefault(key, - cls.instance(s, posix_offset)) - - # This lock may not be necessary in Python 3. See GH issue #901 - with cls.__cache_lock: - cls.__strong_cache[key] = cls.__strong_cache.pop(key, instance) - - # Remove an item if the strong cache is overpopulated - if len(cls.__strong_cache) > cls.__strong_cache_size: - cls.__strong_cache.popitem(last=False) - - return instance - diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/tz.py b/venv/lib/python3.11/site-packages/dateutil/tz/tz.py deleted file mode 100644 index 6175914..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tz/tz.py +++ /dev/null @@ -1,1849 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module offers timezone implementations subclassing the abstract -:py:class:`datetime.tzinfo` type. There are classes to handle tzfile format -files (usually are in :file:`/etc/localtime`, :file:`/usr/share/zoneinfo`, -etc), TZ environment string (in all known formats), given ranges (with help -from relative deltas), local machine timezone, fixed offset timezone, and UTC -timezone. -""" -import datetime -import struct -import time -import sys -import os -import bisect -import weakref -from collections import OrderedDict - -import six -from six import string_types -from six.moves import _thread -from ._common import tzname_in_python2, _tzinfo -from ._common import tzrangebase, enfold -from ._common import _validate_fromutc_inputs - -from ._factories import _TzSingleton, _TzOffsetFactory -from ._factories import _TzStrFactory -try: - from .win import tzwin, tzwinlocal -except ImportError: - tzwin = tzwinlocal = None - -# For warning about rounding tzinfo -from warnings import warn - -ZERO = datetime.timedelta(0) -EPOCH = datetime.datetime(1970, 1, 1, 0, 0) -EPOCHORDINAL = EPOCH.toordinal() - - -@six.add_metaclass(_TzSingleton) -class tzutc(datetime.tzinfo): - """ - This is a tzinfo object that represents the UTC time zone. - - **Examples:** - - .. doctest:: - - >>> from datetime import * - >>> from dateutil.tz import * - - >>> datetime.now() - datetime.datetime(2003, 9, 27, 9, 40, 1, 521290) - - >>> datetime.now(tzutc()) - datetime.datetime(2003, 9, 27, 12, 40, 12, 156379, tzinfo=tzutc()) - - >>> datetime.now(tzutc()).tzname() - 'UTC' - - .. versionchanged:: 2.7.0 - ``tzutc()`` is now a singleton, so the result of ``tzutc()`` will - always return the same object. - - .. doctest:: - - >>> from dateutil.tz import tzutc, UTC - >>> tzutc() is tzutc() - True - >>> tzutc() is UTC - True - """ - def utcoffset(self, dt): - return ZERO - - def dst(self, dt): - return ZERO - - @tzname_in_python2 - def tzname(self, dt): - return "UTC" - - def is_ambiguous(self, dt): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - - - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - return False - - @_validate_fromutc_inputs - def fromutc(self, dt): - """ - Fast track version of fromutc() returns the original ``dt`` object for - any valid :py:class:`datetime.datetime` object. - """ - return dt - - def __eq__(self, other): - if not isinstance(other, (tzutc, tzoffset)): - return NotImplemented - - return (isinstance(other, tzutc) or - (isinstance(other, tzoffset) and other._offset == ZERO)) - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - return "%s()" % self.__class__.__name__ - - __reduce__ = object.__reduce__ - - -#: Convenience constant providing a :class:`tzutc()` instance -#: -#: .. versionadded:: 2.7.0 -UTC = tzutc() - - -@six.add_metaclass(_TzOffsetFactory) -class tzoffset(datetime.tzinfo): - """ - A simple class for representing a fixed offset from UTC. - - :param name: - The timezone name, to be returned when ``tzname()`` is called. - :param offset: - The time zone offset in seconds, or (since version 2.6.0, represented - as a :py:class:`datetime.timedelta` object). - """ - def __init__(self, name, offset): - self._name = name - - try: - # Allow a timedelta - offset = offset.total_seconds() - except (TypeError, AttributeError): - pass - - self._offset = datetime.timedelta(seconds=_get_supported_offset(offset)) - - def utcoffset(self, dt): - return self._offset - - def dst(self, dt): - return ZERO - - @tzname_in_python2 - def tzname(self, dt): - return self._name - - @_validate_fromutc_inputs - def fromutc(self, dt): - return dt + self._offset - - def is_ambiguous(self, dt): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - return False - - def __eq__(self, other): - if not isinstance(other, tzoffset): - return NotImplemented - - return self._offset == other._offset - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - return "%s(%s, %s)" % (self.__class__.__name__, - repr(self._name), - int(self._offset.total_seconds())) - - __reduce__ = object.__reduce__ - - -class tzlocal(_tzinfo): - """ - A :class:`tzinfo` subclass built around the ``time`` timezone functions. - """ - def __init__(self): - super(tzlocal, self).__init__() - - self._std_offset = datetime.timedelta(seconds=-time.timezone) - if time.daylight: - self._dst_offset = datetime.timedelta(seconds=-time.altzone) - else: - self._dst_offset = self._std_offset - - self._dst_saved = self._dst_offset - self._std_offset - self._hasdst = bool(self._dst_saved) - self._tznames = tuple(time.tzname) - - def utcoffset(self, dt): - if dt is None and self._hasdst: - return None - - if self._isdst(dt): - return self._dst_offset - else: - return self._std_offset - - def dst(self, dt): - if dt is None and self._hasdst: - return None - - if self._isdst(dt): - return self._dst_offset - self._std_offset - else: - return ZERO - - @tzname_in_python2 - def tzname(self, dt): - return self._tznames[self._isdst(dt)] - - def is_ambiguous(self, dt): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - - - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - naive_dst = self._naive_is_dst(dt) - return (not naive_dst and - (naive_dst != self._naive_is_dst(dt - self._dst_saved))) - - def _naive_is_dst(self, dt): - timestamp = _datetime_to_timestamp(dt) - return time.localtime(timestamp + time.timezone).tm_isdst - - def _isdst(self, dt, fold_naive=True): - # We can't use mktime here. It is unstable when deciding if - # the hour near to a change is DST or not. - # - # timestamp = time.mktime((dt.year, dt.month, dt.day, dt.hour, - # dt.minute, dt.second, dt.weekday(), 0, -1)) - # return time.localtime(timestamp).tm_isdst - # - # The code above yields the following result: - # - # >>> import tz, datetime - # >>> t = tz.tzlocal() - # >>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - # 'BRDT' - # >>> datetime.datetime(2003,2,16,0,tzinfo=t).tzname() - # 'BRST' - # >>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - # 'BRST' - # >>> datetime.datetime(2003,2,15,22,tzinfo=t).tzname() - # 'BRDT' - # >>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - # 'BRDT' - # - # Here is a more stable implementation: - # - if not self._hasdst: - return False - - # Check for ambiguous times: - dstval = self._naive_is_dst(dt) - fold = getattr(dt, 'fold', None) - - if self.is_ambiguous(dt): - if fold is not None: - return not self._fold(dt) - else: - return True - - return dstval - - def __eq__(self, other): - if isinstance(other, tzlocal): - return (self._std_offset == other._std_offset and - self._dst_offset == other._dst_offset) - elif isinstance(other, tzutc): - return (not self._hasdst and - self._tznames[0] in {'UTC', 'GMT'} and - self._std_offset == ZERO) - elif isinstance(other, tzoffset): - return (not self._hasdst and - self._tznames[0] == other._name and - self._std_offset == other._offset) - else: - return NotImplemented - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - return "%s()" % self.__class__.__name__ - - __reduce__ = object.__reduce__ - - -class _ttinfo(object): - __slots__ = ["offset", "delta", "isdst", "abbr", - "isstd", "isgmt", "dstoffset"] - - def __init__(self): - for attr in self.__slots__: - setattr(self, attr, None) - - def __repr__(self): - l = [] - for attr in self.__slots__: - value = getattr(self, attr) - if value is not None: - l.append("%s=%s" % (attr, repr(value))) - return "%s(%s)" % (self.__class__.__name__, ", ".join(l)) - - def __eq__(self, other): - if not isinstance(other, _ttinfo): - return NotImplemented - - return (self.offset == other.offset and - self.delta == other.delta and - self.isdst == other.isdst and - self.abbr == other.abbr and - self.isstd == other.isstd and - self.isgmt == other.isgmt and - self.dstoffset == other.dstoffset) - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __getstate__(self): - state = {} - for name in self.__slots__: - state[name] = getattr(self, name, None) - return state - - def __setstate__(self, state): - for name in self.__slots__: - if name in state: - setattr(self, name, state[name]) - - -class _tzfile(object): - """ - Lightweight class for holding the relevant transition and time zone - information read from binary tzfiles. - """ - attrs = ['trans_list', 'trans_list_utc', 'trans_idx', 'ttinfo_list', - 'ttinfo_std', 'ttinfo_dst', 'ttinfo_before', 'ttinfo_first'] - - def __init__(self, **kwargs): - for attr in self.attrs: - setattr(self, attr, kwargs.get(attr, None)) - - -class tzfile(_tzinfo): - """ - This is a ``tzinfo`` subclass that allows one to use the ``tzfile(5)`` - format timezone files to extract current and historical zone information. - - :param fileobj: - This can be an opened file stream or a file name that the time zone - information can be read from. - - :param filename: - This is an optional parameter specifying the source of the time zone - information in the event that ``fileobj`` is a file object. If omitted - and ``fileobj`` is a file stream, this parameter will be set either to - ``fileobj``'s ``name`` attribute or to ``repr(fileobj)``. - - See `Sources for Time Zone and Daylight Saving Time Data - `_ for more information. - Time zone files can be compiled from the `IANA Time Zone database files - `_ with the `zic time zone compiler - `_ - - .. note:: - - Only construct a ``tzfile`` directly if you have a specific timezone - file on disk that you want to read into a Python ``tzinfo`` object. - If you want to get a ``tzfile`` representing a specific IANA zone, - (e.g. ``'America/New_York'``), you should call - :func:`dateutil.tz.gettz` with the zone identifier. - - - **Examples:** - - Using the US Eastern time zone as an example, we can see that a ``tzfile`` - provides time zone information for the standard Daylight Saving offsets: - - .. testsetup:: tzfile - - from dateutil.tz import gettz - from datetime import datetime - - .. doctest:: tzfile - - >>> NYC = gettz('America/New_York') - >>> NYC - tzfile('/usr/share/zoneinfo/America/New_York') - - >>> print(datetime(2016, 1, 3, tzinfo=NYC)) # EST - 2016-01-03 00:00:00-05:00 - - >>> print(datetime(2016, 7, 7, tzinfo=NYC)) # EDT - 2016-07-07 00:00:00-04:00 - - - The ``tzfile`` structure contains a fully history of the time zone, - so historical dates will also have the right offsets. For example, before - the adoption of the UTC standards, New York used local solar mean time: - - .. doctest:: tzfile - - >>> print(datetime(1901, 4, 12, tzinfo=NYC)) # LMT - 1901-04-12 00:00:00-04:56 - - And during World War II, New York was on "Eastern War Time", which was a - state of permanent daylight saving time: - - .. doctest:: tzfile - - >>> print(datetime(1944, 2, 7, tzinfo=NYC)) # EWT - 1944-02-07 00:00:00-04:00 - - """ - - def __init__(self, fileobj, filename=None): - super(tzfile, self).__init__() - - file_opened_here = False - if isinstance(fileobj, string_types): - self._filename = fileobj - fileobj = open(fileobj, 'rb') - file_opened_here = True - elif filename is not None: - self._filename = filename - elif hasattr(fileobj, "name"): - self._filename = fileobj.name - else: - self._filename = repr(fileobj) - - if fileobj is not None: - if not file_opened_here: - fileobj = _nullcontext(fileobj) - - with fileobj as file_stream: - tzobj = self._read_tzfile(file_stream) - - self._set_tzdata(tzobj) - - def _set_tzdata(self, tzobj): - """ Set the time zone data of this object from a _tzfile object """ - # Copy the relevant attributes over as private attributes - for attr in _tzfile.attrs: - setattr(self, '_' + attr, getattr(tzobj, attr)) - - def _read_tzfile(self, fileobj): - out = _tzfile() - - # From tzfile(5): - # - # The time zone information files used by tzset(3) - # begin with the magic characters "TZif" to identify - # them as time zone information files, followed by - # sixteen bytes reserved for future use, followed by - # six four-byte values of type long, written in a - # ``standard'' byte order (the high-order byte - # of the value is written first). - if fileobj.read(4).decode() != "TZif": - raise ValueError("magic not found") - - fileobj.read(16) - - ( - # The number of UTC/local indicators stored in the file. - ttisgmtcnt, - - # The number of standard/wall indicators stored in the file. - ttisstdcnt, - - # The number of leap seconds for which data is - # stored in the file. - leapcnt, - - # The number of "transition times" for which data - # is stored in the file. - timecnt, - - # The number of "local time types" for which data - # is stored in the file (must not be zero). - typecnt, - - # The number of characters of "time zone - # abbreviation strings" stored in the file. - charcnt, - - ) = struct.unpack(">6l", fileobj.read(24)) - - # The above header is followed by tzh_timecnt four-byte - # values of type long, sorted in ascending order. - # These values are written in ``standard'' byte order. - # Each is used as a transition time (as returned by - # time(2)) at which the rules for computing local time - # change. - - if timecnt: - out.trans_list_utc = list(struct.unpack(">%dl" % timecnt, - fileobj.read(timecnt*4))) - else: - out.trans_list_utc = [] - - # Next come tzh_timecnt one-byte values of type unsigned - # char; each one tells which of the different types of - # ``local time'' types described in the file is associated - # with the same-indexed transition time. These values - # serve as indices into an array of ttinfo structures that - # appears next in the file. - - if timecnt: - out.trans_idx = struct.unpack(">%dB" % timecnt, - fileobj.read(timecnt)) - else: - out.trans_idx = [] - - # Each ttinfo structure is written as a four-byte value - # for tt_gmtoff of type long, in a standard byte - # order, followed by a one-byte value for tt_isdst - # and a one-byte value for tt_abbrind. In each - # structure, tt_gmtoff gives the number of - # seconds to be added to UTC, tt_isdst tells whether - # tm_isdst should be set by localtime(3), and - # tt_abbrind serves as an index into the array of - # time zone abbreviation characters that follow the - # ttinfo structure(s) in the file. - - ttinfo = [] - - for i in range(typecnt): - ttinfo.append(struct.unpack(">lbb", fileobj.read(6))) - - abbr = fileobj.read(charcnt).decode() - - # Then there are tzh_leapcnt pairs of four-byte - # values, written in standard byte order; the - # first value of each pair gives the time (as - # returned by time(2)) at which a leap second - # occurs; the second gives the total number of - # leap seconds to be applied after the given time. - # The pairs of values are sorted in ascending order - # by time. - - # Not used, for now (but seek for correct file position) - if leapcnt: - fileobj.seek(leapcnt * 8, os.SEEK_CUR) - - # Then there are tzh_ttisstdcnt standard/wall - # indicators, each stored as a one-byte value; - # they tell whether the transition times associated - # with local time types were specified as standard - # time or wall clock time, and are used when - # a time zone file is used in handling POSIX-style - # time zone environment variables. - - if ttisstdcnt: - isstd = struct.unpack(">%db" % ttisstdcnt, - fileobj.read(ttisstdcnt)) - - # Finally, there are tzh_ttisgmtcnt UTC/local - # indicators, each stored as a one-byte value; - # they tell whether the transition times associated - # with local time types were specified as UTC or - # local time, and are used when a time zone file - # is used in handling POSIX-style time zone envi- - # ronment variables. - - if ttisgmtcnt: - isgmt = struct.unpack(">%db" % ttisgmtcnt, - fileobj.read(ttisgmtcnt)) - - # Build ttinfo list - out.ttinfo_list = [] - for i in range(typecnt): - gmtoff, isdst, abbrind = ttinfo[i] - gmtoff = _get_supported_offset(gmtoff) - tti = _ttinfo() - tti.offset = gmtoff - tti.dstoffset = datetime.timedelta(0) - tti.delta = datetime.timedelta(seconds=gmtoff) - tti.isdst = isdst - tti.abbr = abbr[abbrind:abbr.find('\x00', abbrind)] - tti.isstd = (ttisstdcnt > i and isstd[i] != 0) - tti.isgmt = (ttisgmtcnt > i and isgmt[i] != 0) - out.ttinfo_list.append(tti) - - # Replace ttinfo indexes for ttinfo objects. - out.trans_idx = [out.ttinfo_list[idx] for idx in out.trans_idx] - - # Set standard, dst, and before ttinfos. before will be - # used when a given time is before any transitions, - # and will be set to the first non-dst ttinfo, or to - # the first dst, if all of them are dst. - out.ttinfo_std = None - out.ttinfo_dst = None - out.ttinfo_before = None - if out.ttinfo_list: - if not out.trans_list_utc: - out.ttinfo_std = out.ttinfo_first = out.ttinfo_list[0] - else: - for i in range(timecnt-1, -1, -1): - tti = out.trans_idx[i] - if not out.ttinfo_std and not tti.isdst: - out.ttinfo_std = tti - elif not out.ttinfo_dst and tti.isdst: - out.ttinfo_dst = tti - - if out.ttinfo_std and out.ttinfo_dst: - break - else: - if out.ttinfo_dst and not out.ttinfo_std: - out.ttinfo_std = out.ttinfo_dst - - for tti in out.ttinfo_list: - if not tti.isdst: - out.ttinfo_before = tti - break - else: - out.ttinfo_before = out.ttinfo_list[0] - - # Now fix transition times to become relative to wall time. - # - # I'm not sure about this. In my tests, the tz source file - # is setup to wall time, and in the binary file isstd and - # isgmt are off, so it should be in wall time. OTOH, it's - # always in gmt time. Let me know if you have comments - # about this. - lastdst = None - lastoffset = None - lastdstoffset = None - lastbaseoffset = None - out.trans_list = [] - - for i, tti in enumerate(out.trans_idx): - offset = tti.offset - dstoffset = 0 - - if lastdst is not None: - if tti.isdst: - if not lastdst: - dstoffset = offset - lastoffset - - if not dstoffset and lastdstoffset: - dstoffset = lastdstoffset - - tti.dstoffset = datetime.timedelta(seconds=dstoffset) - lastdstoffset = dstoffset - - # If a time zone changes its base offset during a DST transition, - # then you need to adjust by the previous base offset to get the - # transition time in local time. Otherwise you use the current - # base offset. Ideally, I would have some mathematical proof of - # why this is true, but I haven't really thought about it enough. - baseoffset = offset - dstoffset - adjustment = baseoffset - if (lastbaseoffset is not None and baseoffset != lastbaseoffset - and tti.isdst != lastdst): - # The base DST has changed - adjustment = lastbaseoffset - - lastdst = tti.isdst - lastoffset = offset - lastbaseoffset = baseoffset - - out.trans_list.append(out.trans_list_utc[i] + adjustment) - - out.trans_idx = tuple(out.trans_idx) - out.trans_list = tuple(out.trans_list) - out.trans_list_utc = tuple(out.trans_list_utc) - - return out - - def _find_last_transition(self, dt, in_utc=False): - # If there's no list, there are no transitions to find - if not self._trans_list: - return None - - timestamp = _datetime_to_timestamp(dt) - - # Find where the timestamp fits in the transition list - if the - # timestamp is a transition time, it's part of the "after" period. - trans_list = self._trans_list_utc if in_utc else self._trans_list - idx = bisect.bisect_right(trans_list, timestamp) - - # We want to know when the previous transition was, so subtract off 1 - return idx - 1 - - def _get_ttinfo(self, idx): - # For no list or after the last transition, default to _ttinfo_std - if idx is None or (idx + 1) >= len(self._trans_list): - return self._ttinfo_std - - # If there is a list and the time is before it, return _ttinfo_before - if idx < 0: - return self._ttinfo_before - - return self._trans_idx[idx] - - def _find_ttinfo(self, dt): - idx = self._resolve_ambiguous_time(dt) - - return self._get_ttinfo(idx) - - def fromutc(self, dt): - """ - The ``tzfile`` implementation of :py:func:`datetime.tzinfo.fromutc`. - - :param dt: - A :py:class:`datetime.datetime` object. - - :raises TypeError: - Raised if ``dt`` is not a :py:class:`datetime.datetime` object. - - :raises ValueError: - Raised if this is called with a ``dt`` which does not have this - ``tzinfo`` attached. - - :return: - Returns a :py:class:`datetime.datetime` object representing the - wall time in ``self``'s time zone. - """ - # These isinstance checks are in datetime.tzinfo, so we'll preserve - # them, even if we don't care about duck typing. - if not isinstance(dt, datetime.datetime): - raise TypeError("fromutc() requires a datetime argument") - - if dt.tzinfo is not self: - raise ValueError("dt.tzinfo is not self") - - # First treat UTC as wall time and get the transition we're in. - idx = self._find_last_transition(dt, in_utc=True) - tti = self._get_ttinfo(idx) - - dt_out = dt + datetime.timedelta(seconds=tti.offset) - - fold = self.is_ambiguous(dt_out, idx=idx) - - return enfold(dt_out, fold=int(fold)) - - def is_ambiguous(self, dt, idx=None): - """ - Whether or not the "wall time" of a given datetime is ambiguous in this - zone. - - :param dt: - A :py:class:`datetime.datetime`, naive or time zone aware. - - - :return: - Returns ``True`` if ambiguous, ``False`` otherwise. - - .. versionadded:: 2.6.0 - """ - if idx is None: - idx = self._find_last_transition(dt) - - # Calculate the difference in offsets from current to previous - timestamp = _datetime_to_timestamp(dt) - tti = self._get_ttinfo(idx) - - if idx is None or idx <= 0: - return False - - od = self._get_ttinfo(idx - 1).offset - tti.offset - tt = self._trans_list[idx] # Transition time - - return timestamp < tt + od - - def _resolve_ambiguous_time(self, dt): - idx = self._find_last_transition(dt) - - # If we have no transitions, return the index - _fold = self._fold(dt) - if idx is None or idx == 0: - return idx - - # If it's ambiguous and we're in a fold, shift to a different index. - idx_offset = int(not _fold and self.is_ambiguous(dt, idx)) - - return idx - idx_offset - - def utcoffset(self, dt): - if dt is None: - return None - - if not self._ttinfo_std: - return ZERO - - return self._find_ttinfo(dt).delta - - def dst(self, dt): - if dt is None: - return None - - if not self._ttinfo_dst: - return ZERO - - tti = self._find_ttinfo(dt) - - if not tti.isdst: - return ZERO - - # The documentation says that utcoffset()-dst() must - # be constant for every dt. - return tti.dstoffset - - @tzname_in_python2 - def tzname(self, dt): - if not self._ttinfo_std or dt is None: - return None - return self._find_ttinfo(dt).abbr - - def __eq__(self, other): - if not isinstance(other, tzfile): - return NotImplemented - return (self._trans_list == other._trans_list and - self._trans_idx == other._trans_idx and - self._ttinfo_list == other._ttinfo_list) - - __hash__ = None - - def __ne__(self, other): - return not (self == other) - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, repr(self._filename)) - - def __reduce__(self): - return self.__reduce_ex__(None) - - def __reduce_ex__(self, protocol): - return (self.__class__, (None, self._filename), self.__dict__) - - -class tzrange(tzrangebase): - """ - The ``tzrange`` object is a time zone specified by a set of offsets and - abbreviations, equivalent to the way the ``TZ`` variable can be specified - in POSIX-like systems, but using Python delta objects to specify DST - start, end and offsets. - - :param stdabbr: - The abbreviation for standard time (e.g. ``'EST'``). - - :param stdoffset: - An integer or :class:`datetime.timedelta` object or equivalent - specifying the base offset from UTC. - - If unspecified, +00:00 is used. - - :param dstabbr: - The abbreviation for DST / "Summer" time (e.g. ``'EDT'``). - - If specified, with no other DST information, DST is assumed to occur - and the default behavior or ``dstoffset``, ``start`` and ``end`` is - used. If unspecified and no other DST information is specified, it - is assumed that this zone has no DST. - - If this is unspecified and other DST information is *is* specified, - DST occurs in the zone but the time zone abbreviation is left - unchanged. - - :param dstoffset: - A an integer or :class:`datetime.timedelta` object or equivalent - specifying the UTC offset during DST. If unspecified and any other DST - information is specified, it is assumed to be the STD offset +1 hour. - - :param start: - A :class:`relativedelta.relativedelta` object or equivalent specifying - the time and time of year that daylight savings time starts. To - specify, for example, that DST starts at 2AM on the 2nd Sunday in - March, pass: - - ``relativedelta(hours=2, month=3, day=1, weekday=SU(+2))`` - - If unspecified and any other DST information is specified, the default - value is 2 AM on the first Sunday in April. - - :param end: - A :class:`relativedelta.relativedelta` object or equivalent - representing the time and time of year that daylight savings time - ends, with the same specification method as in ``start``. One note is - that this should point to the first time in the *standard* zone, so if - a transition occurs at 2AM in the DST zone and the clocks are set back - 1 hour to 1AM, set the ``hours`` parameter to +1. - - - **Examples:** - - .. testsetup:: tzrange - - from dateutil.tz import tzrange, tzstr - - .. doctest:: tzrange - - >>> tzstr('EST5EDT') == tzrange("EST", -18000, "EDT") - True - - >>> from dateutil.relativedelta import * - >>> range1 = tzrange("EST", -18000, "EDT") - >>> range2 = tzrange("EST", -18000, "EDT", -14400, - ... relativedelta(hours=+2, month=4, day=1, - ... weekday=SU(+1)), - ... relativedelta(hours=+1, month=10, day=31, - ... weekday=SU(-1))) - >>> tzstr('EST5EDT') == range1 == range2 - True - - """ - def __init__(self, stdabbr, stdoffset=None, - dstabbr=None, dstoffset=None, - start=None, end=None): - - global relativedelta - from dateutil import relativedelta - - self._std_abbr = stdabbr - self._dst_abbr = dstabbr - - try: - stdoffset = stdoffset.total_seconds() - except (TypeError, AttributeError): - pass - - try: - dstoffset = dstoffset.total_seconds() - except (TypeError, AttributeError): - pass - - if stdoffset is not None: - self._std_offset = datetime.timedelta(seconds=stdoffset) - else: - self._std_offset = ZERO - - if dstoffset is not None: - self._dst_offset = datetime.timedelta(seconds=dstoffset) - elif dstabbr and stdoffset is not None: - self._dst_offset = self._std_offset + datetime.timedelta(hours=+1) - else: - self._dst_offset = ZERO - - if dstabbr and start is None: - self._start_delta = relativedelta.relativedelta( - hours=+2, month=4, day=1, weekday=relativedelta.SU(+1)) - else: - self._start_delta = start - - if dstabbr and end is None: - self._end_delta = relativedelta.relativedelta( - hours=+1, month=10, day=31, weekday=relativedelta.SU(-1)) - else: - self._end_delta = end - - self._dst_base_offset_ = self._dst_offset - self._std_offset - self.hasdst = bool(self._start_delta) - - def transitions(self, year): - """ - For a given year, get the DST on and off transition times, expressed - always on the standard time side. For zones with no transitions, this - function returns ``None``. - - :param year: - The year whose transitions you would like to query. - - :return: - Returns a :class:`tuple` of :class:`datetime.datetime` objects, - ``(dston, dstoff)`` for zones with an annual DST transition, or - ``None`` for fixed offset zones. - """ - if not self.hasdst: - return None - - base_year = datetime.datetime(year, 1, 1) - - start = base_year + self._start_delta - end = base_year + self._end_delta - - return (start, end) - - def __eq__(self, other): - if not isinstance(other, tzrange): - return NotImplemented - - return (self._std_abbr == other._std_abbr and - self._dst_abbr == other._dst_abbr and - self._std_offset == other._std_offset and - self._dst_offset == other._dst_offset and - self._start_delta == other._start_delta and - self._end_delta == other._end_delta) - - @property - def _dst_base_offset(self): - return self._dst_base_offset_ - - -@six.add_metaclass(_TzStrFactory) -class tzstr(tzrange): - """ - ``tzstr`` objects are time zone objects specified by a time-zone string as - it would be passed to a ``TZ`` variable on POSIX-style systems (see - the `GNU C Library: TZ Variable`_ for more details). - - There is one notable exception, which is that POSIX-style time zones use an - inverted offset format, so normally ``GMT+3`` would be parsed as an offset - 3 hours *behind* GMT. The ``tzstr`` time zone object will parse this as an - offset 3 hours *ahead* of GMT. If you would like to maintain the POSIX - behavior, pass a ``True`` value to ``posix_offset``. - - The :class:`tzrange` object provides the same functionality, but is - specified using :class:`relativedelta.relativedelta` objects. rather than - strings. - - :param s: - A time zone string in ``TZ`` variable format. This can be a - :class:`bytes` (2.x: :class:`str`), :class:`str` (2.x: - :class:`unicode`) or a stream emitting unicode characters - (e.g. :class:`StringIO`). - - :param posix_offset: - Optional. If set to ``True``, interpret strings such as ``GMT+3`` or - ``UTC+3`` as being 3 hours *behind* UTC rather than ahead, per the - POSIX standard. - - .. caution:: - - Prior to version 2.7.0, this function also supported time zones - in the format: - - * ``EST5EDT,4,0,6,7200,10,0,26,7200,3600`` - * ``EST5EDT,4,1,0,7200,10,-1,0,7200,3600`` - - This format is non-standard and has been deprecated; this function - will raise a :class:`DeprecatedTZFormatWarning` until - support is removed in a future version. - - .. _`GNU C Library: TZ Variable`: - https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html - """ - def __init__(self, s, posix_offset=False): - global parser - from dateutil.parser import _parser as parser - - self._s = s - - res = parser._parsetz(s) - if res is None or res.any_unused_tokens: - raise ValueError("unknown string format") - - # Here we break the compatibility with the TZ variable handling. - # GMT-3 actually *means* the timezone -3. - if res.stdabbr in ("GMT", "UTC") and not posix_offset: - res.stdoffset *= -1 - - # We must initialize it first, since _delta() needs - # _std_offset and _dst_offset set. Use False in start/end - # to avoid building it two times. - tzrange.__init__(self, res.stdabbr, res.stdoffset, - res.dstabbr, res.dstoffset, - start=False, end=False) - - if not res.dstabbr: - self._start_delta = None - self._end_delta = None - else: - self._start_delta = self._delta(res.start) - if self._start_delta: - self._end_delta = self._delta(res.end, isend=1) - - self.hasdst = bool(self._start_delta) - - def _delta(self, x, isend=0): - from dateutil import relativedelta - kwargs = {} - if x.month is not None: - kwargs["month"] = x.month - if x.weekday is not None: - kwargs["weekday"] = relativedelta.weekday(x.weekday, x.week) - if x.week > 0: - kwargs["day"] = 1 - else: - kwargs["day"] = 31 - elif x.day: - kwargs["day"] = x.day - elif x.yday is not None: - kwargs["yearday"] = x.yday - elif x.jyday is not None: - kwargs["nlyearday"] = x.jyday - if not kwargs: - # Default is to start on first sunday of april, and end - # on last sunday of october. - if not isend: - kwargs["month"] = 4 - kwargs["day"] = 1 - kwargs["weekday"] = relativedelta.SU(+1) - else: - kwargs["month"] = 10 - kwargs["day"] = 31 - kwargs["weekday"] = relativedelta.SU(-1) - if x.time is not None: - kwargs["seconds"] = x.time - else: - # Default is 2AM. - kwargs["seconds"] = 7200 - if isend: - # Convert to standard time, to follow the documented way - # of working with the extra hour. See the documentation - # of the tzinfo class. - delta = self._dst_offset - self._std_offset - kwargs["seconds"] -= delta.seconds + delta.days * 86400 - return relativedelta.relativedelta(**kwargs) - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, repr(self._s)) - - -class _tzicalvtzcomp(object): - def __init__(self, tzoffsetfrom, tzoffsetto, isdst, - tzname=None, rrule=None): - self.tzoffsetfrom = datetime.timedelta(seconds=tzoffsetfrom) - self.tzoffsetto = datetime.timedelta(seconds=tzoffsetto) - self.tzoffsetdiff = self.tzoffsetto - self.tzoffsetfrom - self.isdst = isdst - self.tzname = tzname - self.rrule = rrule - - -class _tzicalvtz(_tzinfo): - def __init__(self, tzid, comps=[]): - super(_tzicalvtz, self).__init__() - - self._tzid = tzid - self._comps = comps - self._cachedate = [] - self._cachecomp = [] - self._cache_lock = _thread.allocate_lock() - - def _find_comp(self, dt): - if len(self._comps) == 1: - return self._comps[0] - - dt = dt.replace(tzinfo=None) - - try: - with self._cache_lock: - return self._cachecomp[self._cachedate.index( - (dt, self._fold(dt)))] - except ValueError: - pass - - lastcompdt = None - lastcomp = None - - for comp in self._comps: - compdt = self._find_compdt(comp, dt) - - if compdt and (not lastcompdt or lastcompdt < compdt): - lastcompdt = compdt - lastcomp = comp - - if not lastcomp: - # RFC says nothing about what to do when a given - # time is before the first onset date. We'll look for the - # first standard component, or the first component, if - # none is found. - for comp in self._comps: - if not comp.isdst: - lastcomp = comp - break - else: - lastcomp = comp[0] - - with self._cache_lock: - self._cachedate.insert(0, (dt, self._fold(dt))) - self._cachecomp.insert(0, lastcomp) - - if len(self._cachedate) > 10: - self._cachedate.pop() - self._cachecomp.pop() - - return lastcomp - - def _find_compdt(self, comp, dt): - if comp.tzoffsetdiff < ZERO and self._fold(dt): - dt -= comp.tzoffsetdiff - - compdt = comp.rrule.before(dt, inc=True) - - return compdt - - def utcoffset(self, dt): - if dt is None: - return None - - return self._find_comp(dt).tzoffsetto - - def dst(self, dt): - comp = self._find_comp(dt) - if comp.isdst: - return comp.tzoffsetdiff - else: - return ZERO - - @tzname_in_python2 - def tzname(self, dt): - return self._find_comp(dt).tzname - - def __repr__(self): - return "" % repr(self._tzid) - - __reduce__ = object.__reduce__ - - -class tzical(object): - """ - This object is designed to parse an iCalendar-style ``VTIMEZONE`` structure - as set out in `RFC 5545`_ Section 4.6.5 into one or more `tzinfo` objects. - - :param `fileobj`: - A file or stream in iCalendar format, which should be UTF-8 encoded - with CRLF endings. - - .. _`RFC 5545`: https://tools.ietf.org/html/rfc5545 - """ - def __init__(self, fileobj): - global rrule - from dateutil import rrule - - if isinstance(fileobj, string_types): - self._s = fileobj - # ical should be encoded in UTF-8 with CRLF - fileobj = open(fileobj, 'r') - else: - self._s = getattr(fileobj, 'name', repr(fileobj)) - fileobj = _nullcontext(fileobj) - - self._vtz = {} - - with fileobj as fobj: - self._parse_rfc(fobj.read()) - - def keys(self): - """ - Retrieves the available time zones as a list. - """ - return list(self._vtz.keys()) - - def get(self, tzid=None): - """ - Retrieve a :py:class:`datetime.tzinfo` object by its ``tzid``. - - :param tzid: - If there is exactly one time zone available, omitting ``tzid`` - or passing :py:const:`None` value returns it. Otherwise a valid - key (which can be retrieved from :func:`keys`) is required. - - :raises ValueError: - Raised if ``tzid`` is not specified but there are either more - or fewer than 1 zone defined. - - :returns: - Returns either a :py:class:`datetime.tzinfo` object representing - the relevant time zone or :py:const:`None` if the ``tzid`` was - not found. - """ - if tzid is None: - if len(self._vtz) == 0: - raise ValueError("no timezones defined") - elif len(self._vtz) > 1: - raise ValueError("more than one timezone available") - tzid = next(iter(self._vtz)) - - return self._vtz.get(tzid) - - def _parse_offset(self, s): - s = s.strip() - if not s: - raise ValueError("empty offset") - if s[0] in ('+', '-'): - signal = (-1, +1)[s[0] == '+'] - s = s[1:] - else: - signal = +1 - if len(s) == 4: - return (int(s[:2]) * 3600 + int(s[2:]) * 60) * signal - elif len(s) == 6: - return (int(s[:2]) * 3600 + int(s[2:4]) * 60 + int(s[4:])) * signal - else: - raise ValueError("invalid offset: " + s) - - def _parse_rfc(self, s): - lines = s.splitlines() - if not lines: - raise ValueError("empty string") - - # Unfold - i = 0 - while i < len(lines): - line = lines[i].rstrip() - if not line: - del lines[i] - elif i > 0 and line[0] == " ": - lines[i-1] += line[1:] - del lines[i] - else: - i += 1 - - tzid = None - comps = [] - invtz = False - comptype = None - for line in lines: - if not line: - continue - name, value = line.split(':', 1) - parms = name.split(';') - if not parms: - raise ValueError("empty property name") - name = parms[0].upper() - parms = parms[1:] - if invtz: - if name == "BEGIN": - if value in ("STANDARD", "DAYLIGHT"): - # Process component - pass - else: - raise ValueError("unknown component: "+value) - comptype = value - founddtstart = False - tzoffsetfrom = None - tzoffsetto = None - rrulelines = [] - tzname = None - elif name == "END": - if value == "VTIMEZONE": - if comptype: - raise ValueError("component not closed: "+comptype) - if not tzid: - raise ValueError("mandatory TZID not found") - if not comps: - raise ValueError( - "at least one component is needed") - # Process vtimezone - self._vtz[tzid] = _tzicalvtz(tzid, comps) - invtz = False - elif value == comptype: - if not founddtstart: - raise ValueError("mandatory DTSTART not found") - if tzoffsetfrom is None: - raise ValueError( - "mandatory TZOFFSETFROM not found") - if tzoffsetto is None: - raise ValueError( - "mandatory TZOFFSETFROM not found") - # Process component - rr = None - if rrulelines: - rr = rrule.rrulestr("\n".join(rrulelines), - compatible=True, - ignoretz=True, - cache=True) - comp = _tzicalvtzcomp(tzoffsetfrom, tzoffsetto, - (comptype == "DAYLIGHT"), - tzname, rr) - comps.append(comp) - comptype = None - else: - raise ValueError("invalid component end: "+value) - elif comptype: - if name == "DTSTART": - # DTSTART in VTIMEZONE takes a subset of valid RRULE - # values under RFC 5545. - for parm in parms: - if parm != 'VALUE=DATE-TIME': - msg = ('Unsupported DTSTART param in ' + - 'VTIMEZONE: ' + parm) - raise ValueError(msg) - rrulelines.append(line) - founddtstart = True - elif name in ("RRULE", "RDATE", "EXRULE", "EXDATE"): - rrulelines.append(line) - elif name == "TZOFFSETFROM": - if parms: - raise ValueError( - "unsupported %s parm: %s " % (name, parms[0])) - tzoffsetfrom = self._parse_offset(value) - elif name == "TZOFFSETTO": - if parms: - raise ValueError( - "unsupported TZOFFSETTO parm: "+parms[0]) - tzoffsetto = self._parse_offset(value) - elif name == "TZNAME": - if parms: - raise ValueError( - "unsupported TZNAME parm: "+parms[0]) - tzname = value - elif name == "COMMENT": - pass - else: - raise ValueError("unsupported property: "+name) - else: - if name == "TZID": - if parms: - raise ValueError( - "unsupported TZID parm: "+parms[0]) - tzid = value - elif name in ("TZURL", "LAST-MODIFIED", "COMMENT"): - pass - else: - raise ValueError("unsupported property: "+name) - elif name == "BEGIN" and value == "VTIMEZONE": - tzid = None - comps = [] - invtz = True - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, repr(self._s)) - - -if sys.platform != "win32": - TZFILES = ["/etc/localtime", "localtime"] - TZPATHS = ["/usr/share/zoneinfo", - "/usr/lib/zoneinfo", - "/usr/share/lib/zoneinfo", - "/etc/zoneinfo"] -else: - TZFILES = [] - TZPATHS = [] - - -def __get_gettz(): - tzlocal_classes = (tzlocal,) - if tzwinlocal is not None: - tzlocal_classes += (tzwinlocal,) - - class GettzFunc(object): - """ - Retrieve a time zone object from a string representation - - This function is intended to retrieve the :py:class:`tzinfo` subclass - that best represents the time zone that would be used if a POSIX - `TZ variable`_ were set to the same value. - - If no argument or an empty string is passed to ``gettz``, local time - is returned: - - .. code-block:: python3 - - >>> gettz() - tzfile('/etc/localtime') - - This function is also the preferred way to map IANA tz database keys - to :class:`tzfile` objects: - - .. code-block:: python3 - - >>> gettz('Pacific/Kiritimati') - tzfile('/usr/share/zoneinfo/Pacific/Kiritimati') - - On Windows, the standard is extended to include the Windows-specific - zone names provided by the operating system: - - .. code-block:: python3 - - >>> gettz('Egypt Standard Time') - tzwin('Egypt Standard Time') - - Passing a GNU ``TZ`` style string time zone specification returns a - :class:`tzstr` object: - - .. code-block:: python3 - - >>> gettz('AEST-10AEDT-11,M10.1.0/2,M4.1.0/3') - tzstr('AEST-10AEDT-11,M10.1.0/2,M4.1.0/3') - - :param name: - A time zone name (IANA, or, on Windows, Windows keys), location of - a ``tzfile(5)`` zoneinfo file or ``TZ`` variable style time zone - specifier. An empty string, no argument or ``None`` is interpreted - as local time. - - :return: - Returns an instance of one of ``dateutil``'s :py:class:`tzinfo` - subclasses. - - .. versionchanged:: 2.7.0 - - After version 2.7.0, any two calls to ``gettz`` using the same - input strings will return the same object: - - .. code-block:: python3 - - >>> tz.gettz('America/Chicago') is tz.gettz('America/Chicago') - True - - In addition to improving performance, this ensures that - `"same zone" semantics`_ are used for datetimes in the same zone. - - - .. _`TZ variable`: - https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html - - .. _`"same zone" semantics`: - https://blog.ganssle.io/articles/2018/02/aware-datetime-arithmetic.html - """ - def __init__(self): - - self.__instances = weakref.WeakValueDictionary() - self.__strong_cache_size = 8 - self.__strong_cache = OrderedDict() - self._cache_lock = _thread.allocate_lock() - - def __call__(self, name=None): - with self._cache_lock: - rv = self.__instances.get(name, None) - - if rv is None: - rv = self.nocache(name=name) - if not (name is None - or isinstance(rv, tzlocal_classes) - or rv is None): - # tzlocal is slightly more complicated than the other - # time zone providers because it depends on environment - # at construction time, so don't cache that. - # - # We also cannot store weak references to None, so we - # will also not store that. - self.__instances[name] = rv - else: - # No need for strong caching, return immediately - return rv - - self.__strong_cache[name] = self.__strong_cache.pop(name, rv) - - if len(self.__strong_cache) > self.__strong_cache_size: - self.__strong_cache.popitem(last=False) - - return rv - - def set_cache_size(self, size): - with self._cache_lock: - self.__strong_cache_size = size - while len(self.__strong_cache) > size: - self.__strong_cache.popitem(last=False) - - def cache_clear(self): - with self._cache_lock: - self.__instances = weakref.WeakValueDictionary() - self.__strong_cache.clear() - - @staticmethod - def nocache(name=None): - """A non-cached version of gettz""" - tz = None - if not name: - try: - name = os.environ["TZ"] - except KeyError: - pass - if name is None or name in ("", ":"): - for filepath in TZFILES: - if not os.path.isabs(filepath): - filename = filepath - for path in TZPATHS: - filepath = os.path.join(path, filename) - if os.path.isfile(filepath): - break - else: - continue - if os.path.isfile(filepath): - try: - tz = tzfile(filepath) - break - except (IOError, OSError, ValueError): - pass - else: - tz = tzlocal() - else: - try: - if name.startswith(":"): - name = name[1:] - except TypeError as e: - if isinstance(name, bytes): - new_msg = "gettz argument should be str, not bytes" - six.raise_from(TypeError(new_msg), e) - else: - raise - if os.path.isabs(name): - if os.path.isfile(name): - tz = tzfile(name) - else: - tz = None - else: - for path in TZPATHS: - filepath = os.path.join(path, name) - if not os.path.isfile(filepath): - filepath = filepath.replace(' ', '_') - if not os.path.isfile(filepath): - continue - try: - tz = tzfile(filepath) - break - except (IOError, OSError, ValueError): - pass - else: - tz = None - if tzwin is not None: - try: - tz = tzwin(name) - except (WindowsError, UnicodeEncodeError): - # UnicodeEncodeError is for Python 2.7 compat - tz = None - - if not tz: - from dateutil.zoneinfo import get_zonefile_instance - tz = get_zonefile_instance().get(name) - - if not tz: - for c in name: - # name is not a tzstr unless it has at least - # one offset. For short values of "name", an - # explicit for loop seems to be the fastest way - # To determine if a string contains a digit - if c in "0123456789": - try: - tz = tzstr(name) - except ValueError: - pass - break - else: - if name in ("GMT", "UTC"): - tz = UTC - elif name in time.tzname: - tz = tzlocal() - return tz - - return GettzFunc() - - -gettz = __get_gettz() -del __get_gettz - - -def datetime_exists(dt, tz=None): - """ - Given a datetime and a time zone, determine whether or not a given datetime - would fall in a gap. - - :param dt: - A :class:`datetime.datetime` (whose time zone will be ignored if ``tz`` - is provided.) - - :param tz: - A :class:`datetime.tzinfo` with support for the ``fold`` attribute. If - ``None`` or not provided, the datetime's own time zone will be used. - - :return: - Returns a boolean value whether or not the "wall time" exists in - ``tz``. - - .. versionadded:: 2.7.0 - """ - if tz is None: - if dt.tzinfo is None: - raise ValueError('Datetime is naive and no time zone provided.') - tz = dt.tzinfo - - dt = dt.replace(tzinfo=None) - - # This is essentially a test of whether or not the datetime can survive - # a round trip to UTC. - dt_rt = dt.replace(tzinfo=tz).astimezone(UTC).astimezone(tz) - dt_rt = dt_rt.replace(tzinfo=None) - - return dt == dt_rt - - -def datetime_ambiguous(dt, tz=None): - """ - Given a datetime and a time zone, determine whether or not a given datetime - is ambiguous (i.e if there are two times differentiated only by their DST - status). - - :param dt: - A :class:`datetime.datetime` (whose time zone will be ignored if ``tz`` - is provided.) - - :param tz: - A :class:`datetime.tzinfo` with support for the ``fold`` attribute. If - ``None`` or not provided, the datetime's own time zone will be used. - - :return: - Returns a boolean value whether or not the "wall time" is ambiguous in - ``tz``. - - .. versionadded:: 2.6.0 - """ - if tz is None: - if dt.tzinfo is None: - raise ValueError('Datetime is naive and no time zone provided.') - - tz = dt.tzinfo - - # If a time zone defines its own "is_ambiguous" function, we'll use that. - is_ambiguous_fn = getattr(tz, 'is_ambiguous', None) - if is_ambiguous_fn is not None: - try: - return tz.is_ambiguous(dt) - except Exception: - pass - - # If it doesn't come out and tell us it's ambiguous, we'll just check if - # the fold attribute has any effect on this particular date and time. - dt = dt.replace(tzinfo=tz) - wall_0 = enfold(dt, fold=0) - wall_1 = enfold(dt, fold=1) - - same_offset = wall_0.utcoffset() == wall_1.utcoffset() - same_dst = wall_0.dst() == wall_1.dst() - - return not (same_offset and same_dst) - - -def resolve_imaginary(dt): - """ - Given a datetime that may be imaginary, return an existing datetime. - - This function assumes that an imaginary datetime represents what the - wall time would be in a zone had the offset transition not occurred, so - it will always fall forward by the transition's change in offset. - - .. doctest:: - - >>> from dateutil import tz - >>> from datetime import datetime - >>> NYC = tz.gettz('America/New_York') - >>> print(tz.resolve_imaginary(datetime(2017, 3, 12, 2, 30, tzinfo=NYC))) - 2017-03-12 03:30:00-04:00 - - >>> KIR = tz.gettz('Pacific/Kiritimati') - >>> print(tz.resolve_imaginary(datetime(1995, 1, 1, 12, 30, tzinfo=KIR))) - 1995-01-02 12:30:00+14:00 - - As a note, :func:`datetime.astimezone` is guaranteed to produce a valid, - existing datetime, so a round-trip to and from UTC is sufficient to get - an extant datetime, however, this generally "falls back" to an earlier time - rather than falling forward to the STD side (though no guarantees are made - about this behavior). - - :param dt: - A :class:`datetime.datetime` which may or may not exist. - - :return: - Returns an existing :class:`datetime.datetime`. If ``dt`` was not - imaginary, the datetime returned is guaranteed to be the same object - passed to the function. - - .. versionadded:: 2.7.0 - """ - if dt.tzinfo is not None and not datetime_exists(dt): - - curr_offset = (dt + datetime.timedelta(hours=24)).utcoffset() - old_offset = (dt - datetime.timedelta(hours=24)).utcoffset() - - dt += curr_offset - old_offset - - return dt - - -def _datetime_to_timestamp(dt): - """ - Convert a :class:`datetime.datetime` object to an epoch timestamp in - seconds since January 1, 1970, ignoring the time zone. - """ - return (dt.replace(tzinfo=None) - EPOCH).total_seconds() - - -if sys.version_info >= (3, 6): - def _get_supported_offset(second_offset): - return second_offset -else: - def _get_supported_offset(second_offset): - # For python pre-3.6, round to full-minutes if that's not the case. - # Python's datetime doesn't accept sub-minute timezones. Check - # http://python.org/sf/1447945 or https://bugs.python.org/issue5288 - # for some information. - old_offset = second_offset - calculated_offset = 60 * ((second_offset + 30) // 60) - return calculated_offset - - -try: - # Python 3.7 feature - from contextlib import nullcontext as _nullcontext -except ImportError: - class _nullcontext(object): - """ - Class for wrapping contexts so that they are passed through in a - with statement. - """ - def __init__(self, context): - self.context = context - - def __enter__(self): - return self.context - - def __exit__(*args, **kwargs): - pass - -# vim:ts=4:sw=4:et diff --git a/venv/lib/python3.11/site-packages/dateutil/tz/win.py b/venv/lib/python3.11/site-packages/dateutil/tz/win.py deleted file mode 100644 index cde07ba..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tz/win.py +++ /dev/null @@ -1,370 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module provides an interface to the native time zone data on Windows, -including :py:class:`datetime.tzinfo` implementations. - -Attempting to import this module on a non-Windows platform will raise an -:py:obj:`ImportError`. -""" -# This code was originally contributed by Jeffrey Harris. -import datetime -import struct - -from six.moves import winreg -from six import text_type - -try: - import ctypes - from ctypes import wintypes -except ValueError: - # ValueError is raised on non-Windows systems for some horrible reason. - raise ImportError("Running tzwin on non-Windows system") - -from ._common import tzrangebase - -__all__ = ["tzwin", "tzwinlocal", "tzres"] - -ONEWEEK = datetime.timedelta(7) - -TZKEYNAMENT = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" -TZKEYNAME9X = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones" -TZLOCALKEYNAME = r"SYSTEM\CurrentControlSet\Control\TimeZoneInformation" - - -def _settzkeyname(): - handle = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) - try: - winreg.OpenKey(handle, TZKEYNAMENT).Close() - TZKEYNAME = TZKEYNAMENT - except WindowsError: - TZKEYNAME = TZKEYNAME9X - handle.Close() - return TZKEYNAME - - -TZKEYNAME = _settzkeyname() - - -class tzres(object): - """ - Class for accessing ``tzres.dll``, which contains timezone name related - resources. - - .. versionadded:: 2.5.0 - """ - p_wchar = ctypes.POINTER(wintypes.WCHAR) # Pointer to a wide char - - def __init__(self, tzres_loc='tzres.dll'): - # Load the user32 DLL so we can load strings from tzres - user32 = ctypes.WinDLL('user32') - - # Specify the LoadStringW function - user32.LoadStringW.argtypes = (wintypes.HINSTANCE, - wintypes.UINT, - wintypes.LPWSTR, - ctypes.c_int) - - self.LoadStringW = user32.LoadStringW - self._tzres = ctypes.WinDLL(tzres_loc) - self.tzres_loc = tzres_loc - - def load_name(self, offset): - """ - Load a timezone name from a DLL offset (integer). - - >>> from dateutil.tzwin import tzres - >>> tzr = tzres() - >>> print(tzr.load_name(112)) - 'Eastern Standard Time' - - :param offset: - A positive integer value referring to a string from the tzres dll. - - .. note:: - - Offsets found in the registry are generally of the form - ``@tzres.dll,-114``. The offset in this case is 114, not -114. - - """ - resource = self.p_wchar() - lpBuffer = ctypes.cast(ctypes.byref(resource), wintypes.LPWSTR) - nchar = self.LoadStringW(self._tzres._handle, offset, lpBuffer, 0) - return resource[:nchar] - - def name_from_string(self, tzname_str): - """ - Parse strings as returned from the Windows registry into the time zone - name as defined in the registry. - - >>> from dateutil.tzwin import tzres - >>> tzr = tzres() - >>> print(tzr.name_from_string('@tzres.dll,-251')) - 'Dateline Daylight Time' - >>> print(tzr.name_from_string('Eastern Standard Time')) - 'Eastern Standard Time' - - :param tzname_str: - A timezone name string as returned from a Windows registry key. - - :return: - Returns the localized timezone string from tzres.dll if the string - is of the form `@tzres.dll,-offset`, else returns the input string. - """ - if not tzname_str.startswith('@'): - return tzname_str - - name_splt = tzname_str.split(',-') - try: - offset = int(name_splt[1]) - except: - raise ValueError("Malformed timezone string.") - - return self.load_name(offset) - - -class tzwinbase(tzrangebase): - """tzinfo class based on win32's timezones available in the registry.""" - def __init__(self): - raise NotImplementedError('tzwinbase is an abstract base class') - - def __eq__(self, other): - # Compare on all relevant dimensions, including name. - if not isinstance(other, tzwinbase): - return NotImplemented - - return (self._std_offset == other._std_offset and - self._dst_offset == other._dst_offset and - self._stddayofweek == other._stddayofweek and - self._dstdayofweek == other._dstdayofweek and - self._stdweeknumber == other._stdweeknumber and - self._dstweeknumber == other._dstweeknumber and - self._stdhour == other._stdhour and - self._dsthour == other._dsthour and - self._stdminute == other._stdminute and - self._dstminute == other._dstminute and - self._std_abbr == other._std_abbr and - self._dst_abbr == other._dst_abbr) - - @staticmethod - def list(): - """Return a list of all time zones known to the system.""" - with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle: - with winreg.OpenKey(handle, TZKEYNAME) as tzkey: - result = [winreg.EnumKey(tzkey, i) - for i in range(winreg.QueryInfoKey(tzkey)[0])] - return result - - def display(self): - """ - Return the display name of the time zone. - """ - return self._display - - def transitions(self, year): - """ - For a given year, get the DST on and off transition times, expressed - always on the standard time side. For zones with no transitions, this - function returns ``None``. - - :param year: - The year whose transitions you would like to query. - - :return: - Returns a :class:`tuple` of :class:`datetime.datetime` objects, - ``(dston, dstoff)`` for zones with an annual DST transition, or - ``None`` for fixed offset zones. - """ - - if not self.hasdst: - return None - - dston = picknthweekday(year, self._dstmonth, self._dstdayofweek, - self._dsthour, self._dstminute, - self._dstweeknumber) - - dstoff = picknthweekday(year, self._stdmonth, self._stddayofweek, - self._stdhour, self._stdminute, - self._stdweeknumber) - - # Ambiguous dates default to the STD side - dstoff -= self._dst_base_offset - - return dston, dstoff - - def _get_hasdst(self): - return self._dstmonth != 0 - - @property - def _dst_base_offset(self): - return self._dst_base_offset_ - - -class tzwin(tzwinbase): - """ - Time zone object created from the zone info in the Windows registry - - These are similar to :py:class:`dateutil.tz.tzrange` objects in that - the time zone data is provided in the format of a single offset rule - for either 0 or 2 time zone transitions per year. - - :param: name - The name of a Windows time zone key, e.g. "Eastern Standard Time". - The full list of keys can be retrieved with :func:`tzwin.list`. - """ - - def __init__(self, name): - self._name = name - - with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle: - tzkeyname = text_type("{kn}\\{name}").format(kn=TZKEYNAME, name=name) - with winreg.OpenKey(handle, tzkeyname) as tzkey: - keydict = valuestodict(tzkey) - - self._std_abbr = keydict["Std"] - self._dst_abbr = keydict["Dlt"] - - self._display = keydict["Display"] - - # See http://ww_winreg.jsiinc.com/SUBA/tip0300/rh0398.htm - tup = struct.unpack("=3l16h", keydict["TZI"]) - stdoffset = -tup[0]-tup[1] # Bias + StandardBias * -1 - dstoffset = stdoffset-tup[2] # + DaylightBias * -1 - self._std_offset = datetime.timedelta(minutes=stdoffset) - self._dst_offset = datetime.timedelta(minutes=dstoffset) - - # for the meaning see the win32 TIME_ZONE_INFORMATION structure docs - # http://msdn.microsoft.com/en-us/library/windows/desktop/ms725481(v=vs.85).aspx - (self._stdmonth, - self._stddayofweek, # Sunday = 0 - self._stdweeknumber, # Last = 5 - self._stdhour, - self._stdminute) = tup[4:9] - - (self._dstmonth, - self._dstdayofweek, # Sunday = 0 - self._dstweeknumber, # Last = 5 - self._dsthour, - self._dstminute) = tup[12:17] - - self._dst_base_offset_ = self._dst_offset - self._std_offset - self.hasdst = self._get_hasdst() - - def __repr__(self): - return "tzwin(%s)" % repr(self._name) - - def __reduce__(self): - return (self.__class__, (self._name,)) - - -class tzwinlocal(tzwinbase): - """ - Class representing the local time zone information in the Windows registry - - While :class:`dateutil.tz.tzlocal` makes system calls (via the :mod:`time` - module) to retrieve time zone information, ``tzwinlocal`` retrieves the - rules directly from the Windows registry and creates an object like - :class:`dateutil.tz.tzwin`. - - Because Windows does not have an equivalent of :func:`time.tzset`, on - Windows, :class:`dateutil.tz.tzlocal` instances will always reflect the - time zone settings *at the time that the process was started*, meaning - changes to the machine's time zone settings during the run of a program - on Windows will **not** be reflected by :class:`dateutil.tz.tzlocal`. - Because ``tzwinlocal`` reads the registry directly, it is unaffected by - this issue. - """ - def __init__(self): - with winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) as handle: - with winreg.OpenKey(handle, TZLOCALKEYNAME) as tzlocalkey: - keydict = valuestodict(tzlocalkey) - - self._std_abbr = keydict["StandardName"] - self._dst_abbr = keydict["DaylightName"] - - try: - tzkeyname = text_type('{kn}\\{sn}').format(kn=TZKEYNAME, - sn=self._std_abbr) - with winreg.OpenKey(handle, tzkeyname) as tzkey: - _keydict = valuestodict(tzkey) - self._display = _keydict["Display"] - except OSError: - self._display = None - - stdoffset = -keydict["Bias"]-keydict["StandardBias"] - dstoffset = stdoffset-keydict["DaylightBias"] - - self._std_offset = datetime.timedelta(minutes=stdoffset) - self._dst_offset = datetime.timedelta(minutes=dstoffset) - - # For reasons unclear, in this particular key, the day of week has been - # moved to the END of the SYSTEMTIME structure. - tup = struct.unpack("=8h", keydict["StandardStart"]) - - (self._stdmonth, - self._stdweeknumber, # Last = 5 - self._stdhour, - self._stdminute) = tup[1:5] - - self._stddayofweek = tup[7] - - tup = struct.unpack("=8h", keydict["DaylightStart"]) - - (self._dstmonth, - self._dstweeknumber, # Last = 5 - self._dsthour, - self._dstminute) = tup[1:5] - - self._dstdayofweek = tup[7] - - self._dst_base_offset_ = self._dst_offset - self._std_offset - self.hasdst = self._get_hasdst() - - def __repr__(self): - return "tzwinlocal()" - - def __str__(self): - # str will return the standard name, not the daylight name. - return "tzwinlocal(%s)" % repr(self._std_abbr) - - def __reduce__(self): - return (self.__class__, ()) - - -def picknthweekday(year, month, dayofweek, hour, minute, whichweek): - """ dayofweek == 0 means Sunday, whichweek 5 means last instance """ - first = datetime.datetime(year, month, 1, hour, minute) - - # This will work if dayofweek is ISO weekday (1-7) or Microsoft-style (0-6), - # Because 7 % 7 = 0 - weekdayone = first.replace(day=((dayofweek - first.isoweekday()) % 7) + 1) - wd = weekdayone + ((whichweek - 1) * ONEWEEK) - if (wd.month != month): - wd -= ONEWEEK - - return wd - - -def valuestodict(key): - """Convert a registry key's values to a dictionary.""" - dout = {} - size = winreg.QueryInfoKey(key)[1] - tz_res = None - - for i in range(size): - key_name, value, dtype = winreg.EnumValue(key, i) - if dtype == winreg.REG_DWORD or dtype == winreg.REG_DWORD_LITTLE_ENDIAN: - # If it's a DWORD (32-bit integer), it's stored as unsigned - convert - # that to a proper signed integer - if value & (1 << 31): - value = value - (1 << 32) - elif dtype == winreg.REG_SZ: - # If it's a reference to the tzres DLL, load the actual string - if value.startswith('@tzres'): - tz_res = tz_res or tzres() - value = tz_res.name_from_string(value) - - value = value.rstrip('\x00') # Remove trailing nulls - - dout[key_name] = value - - return dout diff --git a/venv/lib/python3.11/site-packages/dateutil/tzwin.py b/venv/lib/python3.11/site-packages/dateutil/tzwin.py deleted file mode 100644 index cebc673..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/tzwin.py +++ /dev/null @@ -1,2 +0,0 @@ -# tzwin has moved to dateutil.tz.win -from .tz.win import * diff --git a/venv/lib/python3.11/site-packages/dateutil/utils.py b/venv/lib/python3.11/site-packages/dateutil/utils.py deleted file mode 100644 index dd2d245..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/utils.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -""" -This module offers general convenience and utility functions for dealing with -datetimes. - -.. versionadded:: 2.7.0 -""" -from __future__ import unicode_literals - -from datetime import datetime, time - - -def today(tzinfo=None): - """ - Returns a :py:class:`datetime` representing the current day at midnight - - :param tzinfo: - The time zone to attach (also used to determine the current day). - - :return: - A :py:class:`datetime.datetime` object representing the current day - at midnight. - """ - - dt = datetime.now(tzinfo) - return datetime.combine(dt.date(), time(0, tzinfo=tzinfo)) - - -def default_tzinfo(dt, tzinfo): - """ - Sets the ``tzinfo`` parameter on naive datetimes only - - This is useful for example when you are provided a datetime that may have - either an implicit or explicit time zone, such as when parsing a time zone - string. - - .. doctest:: - - >>> from dateutil.tz import tzoffset - >>> from dateutil.parser import parse - >>> from dateutil.utils import default_tzinfo - >>> dflt_tz = tzoffset("EST", -18000) - >>> print(default_tzinfo(parse('2014-01-01 12:30 UTC'), dflt_tz)) - 2014-01-01 12:30:00+00:00 - >>> print(default_tzinfo(parse('2014-01-01 12:30'), dflt_tz)) - 2014-01-01 12:30:00-05:00 - - :param dt: - The datetime on which to replace the time zone - - :param tzinfo: - The :py:class:`datetime.tzinfo` subclass instance to assign to - ``dt`` if (and only if) it is naive. - - :return: - Returns an aware :py:class:`datetime.datetime`. - """ - if dt.tzinfo is not None: - return dt - else: - return dt.replace(tzinfo=tzinfo) - - -def within_delta(dt1, dt2, delta): - """ - Useful for comparing two datetimes that may have a negligible difference - to be considered equal. - """ - delta = abs(delta) - difference = dt1 - dt2 - return -delta <= difference <= delta diff --git a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__init__.py b/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__init__.py deleted file mode 100644 index 34f11ad..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__init__.py +++ /dev/null @@ -1,167 +0,0 @@ -# -*- coding: utf-8 -*- -import warnings -import json - -from tarfile import TarFile -from pkgutil import get_data -from io import BytesIO - -from dateutil.tz import tzfile as _tzfile - -__all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"] - -ZONEFILENAME = "dateutil-zoneinfo.tar.gz" -METADATA_FN = 'METADATA' - - -class tzfile(_tzfile): - def __reduce__(self): - return (gettz, (self._filename,)) - - -def getzoneinfofile_stream(): - try: - return BytesIO(get_data(__name__, ZONEFILENAME)) - except IOError as e: # TODO switch to FileNotFoundError? - warnings.warn("I/O error({0}): {1}".format(e.errno, e.strerror)) - return None - - -class ZoneInfoFile(object): - def __init__(self, zonefile_stream=None): - if zonefile_stream is not None: - with TarFile.open(fileobj=zonefile_stream) as tf: - self.zones = {zf.name: tzfile(tf.extractfile(zf), filename=zf.name) - for zf in tf.getmembers() - if zf.isfile() and zf.name != METADATA_FN} - # deal with links: They'll point to their parent object. Less - # waste of memory - links = {zl.name: self.zones[zl.linkname] - for zl in tf.getmembers() if - zl.islnk() or zl.issym()} - self.zones.update(links) - try: - metadata_json = tf.extractfile(tf.getmember(METADATA_FN)) - metadata_str = metadata_json.read().decode('UTF-8') - self.metadata = json.loads(metadata_str) - except KeyError: - # no metadata in tar file - self.metadata = None - else: - self.zones = {} - self.metadata = None - - def get(self, name, default=None): - """ - Wrapper for :func:`ZoneInfoFile.zones.get`. This is a convenience method - for retrieving zones from the zone dictionary. - - :param name: - The name of the zone to retrieve. (Generally IANA zone names) - - :param default: - The value to return in the event of a missing key. - - .. versionadded:: 2.6.0 - - """ - return self.zones.get(name, default) - - -# The current API has gettz as a module function, although in fact it taps into -# a stateful class. So as a workaround for now, without changing the API, we -# will create a new "global" class instance the first time a user requests a -# timezone. Ugly, but adheres to the api. -# -# TODO: Remove after deprecation period. -_CLASS_ZONE_INSTANCE = [] - - -def get_zonefile_instance(new_instance=False): - """ - This is a convenience function which provides a :class:`ZoneInfoFile` - instance using the data provided by the ``dateutil`` package. By default, it - caches a single instance of the ZoneInfoFile object and returns that. - - :param new_instance: - If ``True``, a new instance of :class:`ZoneInfoFile` is instantiated and - used as the cached instance for the next call. Otherwise, new instances - are created only as necessary. - - :return: - Returns a :class:`ZoneInfoFile` object. - - .. versionadded:: 2.6 - """ - if new_instance: - zif = None - else: - zif = getattr(get_zonefile_instance, '_cached_instance', None) - - if zif is None: - zif = ZoneInfoFile(getzoneinfofile_stream()) - - get_zonefile_instance._cached_instance = zif - - return zif - - -def gettz(name): - """ - This retrieves a time zone from the local zoneinfo tarball that is packaged - with dateutil. - - :param name: - An IANA-style time zone name, as found in the zoneinfo file. - - :return: - Returns a :class:`dateutil.tz.tzfile` time zone object. - - .. warning:: - It is generally inadvisable to use this function, and it is only - provided for API compatibility with earlier versions. This is *not* - equivalent to ``dateutil.tz.gettz()``, which selects an appropriate - time zone based on the inputs, favoring system zoneinfo. This is ONLY - for accessing the dateutil-specific zoneinfo (which may be out of - date compared to the system zoneinfo). - - .. deprecated:: 2.6 - If you need to use a specific zoneinfofile over the system zoneinfo, - instantiate a :class:`dateutil.zoneinfo.ZoneInfoFile` object and call - :func:`dateutil.zoneinfo.ZoneInfoFile.get(name)` instead. - - Use :func:`get_zonefile_instance` to retrieve an instance of the - dateutil-provided zoneinfo. - """ - warnings.warn("zoneinfo.gettz() will be removed in future versions, " - "to use the dateutil-provided zoneinfo files, instantiate a " - "ZoneInfoFile object and use ZoneInfoFile.zones.get() " - "instead. See the documentation for details.", - DeprecationWarning) - - if len(_CLASS_ZONE_INSTANCE) == 0: - _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream())) - return _CLASS_ZONE_INSTANCE[0].zones.get(name) - - -def gettz_db_metadata(): - """ Get the zonefile metadata - - See `zonefile_metadata`_ - - :returns: - A dictionary with the database metadata - - .. deprecated:: 2.6 - See deprecation warning in :func:`zoneinfo.gettz`. To get metadata, - query the attribute ``zoneinfo.ZoneInfoFile.metadata``. - """ - warnings.warn("zoneinfo.gettz_db_metadata() will be removed in future " - "versions, to use the dateutil-provided zoneinfo files, " - "ZoneInfoFile object and query the 'metadata' attribute " - "instead. See the documentation for details.", - DeprecationWarning) - - if len(_CLASS_ZONE_INSTANCE) == 0: - _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream())) - return _CLASS_ZONE_INSTANCE[0].metadata diff --git a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 3f95f7c..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-311.pyc b/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-311.pyc deleted file mode 100644 index e1900a3..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz b/venv/lib/python3.11/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz deleted file mode 100644 index 1461f8c..0000000 Binary files a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/rebuild.py b/venv/lib/python3.11/site-packages/dateutil/zoneinfo/rebuild.py deleted file mode 100644 index 684c658..0000000 --- a/venv/lib/python3.11/site-packages/dateutil/zoneinfo/rebuild.py +++ /dev/null @@ -1,75 +0,0 @@ -import logging -import os -import tempfile -import shutil -import json -from subprocess import check_call, check_output -from tarfile import TarFile - -from dateutil.zoneinfo import METADATA_FN, ZONEFILENAME - - -def rebuild(filename, tag=None, format="gz", zonegroups=[], metadata=None): - """Rebuild the internal timezone info in dateutil/zoneinfo/zoneinfo*tar* - - filename is the timezone tarball from ``ftp.iana.org/tz``. - - """ - tmpdir = tempfile.mkdtemp() - zonedir = os.path.join(tmpdir, "zoneinfo") - moduledir = os.path.dirname(__file__) - try: - with TarFile.open(filename) as tf: - for name in zonegroups: - tf.extract(name, tmpdir) - filepaths = [os.path.join(tmpdir, n) for n in zonegroups] - - _run_zic(zonedir, filepaths) - - # write metadata file - with open(os.path.join(zonedir, METADATA_FN), 'w') as f: - json.dump(metadata, f, indent=4, sort_keys=True) - target = os.path.join(moduledir, ZONEFILENAME) - with TarFile.open(target, "w:%s" % format) as tf: - for entry in os.listdir(zonedir): - entrypath = os.path.join(zonedir, entry) - tf.add(entrypath, entry) - finally: - shutil.rmtree(tmpdir) - - -def _run_zic(zonedir, filepaths): - """Calls the ``zic`` compiler in a compatible way to get a "fat" binary. - - Recent versions of ``zic`` default to ``-b slim``, while older versions - don't even have the ``-b`` option (but default to "fat" binaries). The - current version of dateutil does not support Version 2+ TZif files, which - causes problems when used in conjunction with "slim" binaries, so this - function is used to ensure that we always get a "fat" binary. - """ - - try: - help_text = check_output(["zic", "--help"]) - except OSError as e: - _print_on_nosuchfile(e) - raise - - if b"-b " in help_text: - bloat_args = ["-b", "fat"] - else: - bloat_args = [] - - check_call(["zic"] + bloat_args + ["-d", zonedir] + filepaths) - - -def _print_on_nosuchfile(e): - """Print helpful troubleshooting message - - e is an exception raised by subprocess.check_call() - - """ - if e.errno == 2: - logging.error( - "Could not find zic. Perhaps you need to install " - "libc-bin or some other package that provides it, " - "or it's not in your PATH?") diff --git a/venv/lib/python3.11/site-packages/distutils-precedence.pth b/venv/lib/python3.11/site-packages/distutils-precedence.pth deleted file mode 100644 index 7f009fe..0000000 --- a/venv/lib/python3.11/site-packages/distutils-precedence.pth +++ /dev/null @@ -1 +0,0 @@ -import os; var = 'SETUPTOOLS_USE_DISTUTILS'; enabled = os.environ.get(var, 'local') == 'local'; enabled and __import__('_distutils_hack').add_shim(); diff --git a/venv/lib/python3.11/site-packages/dotenv/__init__.py b/venv/lib/python3.11/site-packages/dotenv/__init__.py deleted file mode 100644 index 7f4c631..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/__init__.py +++ /dev/null @@ -1,49 +0,0 @@ -from typing import Any, Optional - -from .main import (dotenv_values, find_dotenv, get_key, load_dotenv, set_key, - unset_key) - - -def load_ipython_extension(ipython: Any) -> None: - from .ipython import load_ipython_extension - load_ipython_extension(ipython) - - -def get_cli_string( - path: Optional[str] = None, - action: Optional[str] = None, - key: Optional[str] = None, - value: Optional[str] = None, - quote: Optional[str] = None, -): - """Returns a string suitable for running as a shell script. - - Useful for converting a arguments passed to a fabric task - to be passed to a `local` or `run` command. - """ - command = ['dotenv'] - if quote: - command.append(f'-q {quote}') - if path: - command.append(f'-f {path}') - if action: - command.append(action) - if key: - command.append(key) - if value: - if ' ' in value: - command.append(f'"{value}"') - else: - command.append(value) - - return ' '.join(command).strip() - - -__all__ = ['get_cli_string', - 'load_dotenv', - 'dotenv_values', - 'get_key', - 'set_key', - 'unset_key', - 'find_dotenv', - 'load_ipython_extension'] diff --git a/venv/lib/python3.11/site-packages/dotenv/__main__.py b/venv/lib/python3.11/site-packages/dotenv/__main__.py deleted file mode 100644 index 3977f55..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/__main__.py +++ /dev/null @@ -1,6 +0,0 @@ -"""Entry point for cli, enables execution with `python -m dotenv`""" - -from .cli import cli - -if __name__ == "__main__": - cli() diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 138244b..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/__main__.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/__main__.cpython-311.pyc deleted file mode 100644 index 3106e79..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/__main__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/cli.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/cli.cpython-311.pyc deleted file mode 100644 index 843e871..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/cli.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/ipython.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/ipython.cpython-311.pyc deleted file mode 100644 index 9cdb0d4..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/ipython.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/main.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/main.cpython-311.pyc deleted file mode 100644 index 99d2a7e..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/main.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/parser.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/parser.cpython-311.pyc deleted file mode 100644 index 4e8ea5f..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/parser.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/variables.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/variables.cpython-311.pyc deleted file mode 100644 index 794c4ec..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/variables.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/__pycache__/version.cpython-311.pyc b/venv/lib/python3.11/site-packages/dotenv/__pycache__/version.cpython-311.pyc deleted file mode 100644 index ebb8328..0000000 Binary files a/venv/lib/python3.11/site-packages/dotenv/__pycache__/version.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/dotenv/cli.py b/venv/lib/python3.11/site-packages/dotenv/cli.py deleted file mode 100644 index 65ead46..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/cli.py +++ /dev/null @@ -1,199 +0,0 @@ -import json -import os -import shlex -import sys -from contextlib import contextmanager -from subprocess import Popen -from typing import Any, Dict, IO, Iterator, List - -try: - import click -except ImportError: - sys.stderr.write('It seems python-dotenv is not installed with cli option. \n' - 'Run pip install "python-dotenv[cli]" to fix this.') - sys.exit(1) - -from .main import dotenv_values, set_key, unset_key -from .version import __version__ - - -def enumerate_env(): - """ - Return a path for the ${pwd}/.env file. - - If pwd does not exist, return None. - """ - try: - cwd = os.getcwd() - except FileNotFoundError: - return None - path = os.path.join(cwd, '.env') - return path - - -@click.group() -@click.option('-f', '--file', default=enumerate_env(), - type=click.Path(file_okay=True), - help="Location of the .env file, defaults to .env file in current working directory.") -@click.option('-q', '--quote', default='always', - type=click.Choice(['always', 'never', 'auto']), - help="Whether to quote or not the variable values. Default mode is always. This does not affect parsing.") -@click.option('-e', '--export', default=False, - type=click.BOOL, - help="Whether to write the dot file as an executable bash script.") -@click.version_option(version=__version__) -@click.pass_context -def cli(ctx: click.Context, file: Any, quote: Any, export: Any) -> None: - """This script is used to set, get or unset values from a .env file.""" - ctx.obj = {'QUOTE': quote, 'EXPORT': export, 'FILE': file} - - -@contextmanager -def stream_file(path: os.PathLike) -> Iterator[IO[str]]: - """ - Open a file and yield the corresponding (decoded) stream. - - Exits with error code 2 if the file cannot be opened. - """ - - try: - with open(path) as stream: - yield stream - except OSError as exc: - print(f"Error opening env file: {exc}", file=sys.stderr) - exit(2) - - -@cli.command() -@click.pass_context -@click.option('--format', default='simple', - type=click.Choice(['simple', 'json', 'shell', 'export']), - help="The format in which to display the list. Default format is simple, " - "which displays name=value without quotes.") -def list(ctx: click.Context, format: bool) -> None: - """Display all the stored key/value.""" - file = ctx.obj['FILE'] - - with stream_file(file) as stream: - values = dotenv_values(stream=stream) - - if format == 'json': - click.echo(json.dumps(values, indent=2, sort_keys=True)) - else: - prefix = 'export ' if format == 'export' else '' - for k in sorted(values): - v = values[k] - if v is not None: - if format in ('export', 'shell'): - v = shlex.quote(v) - click.echo(f'{prefix}{k}={v}') - - -@cli.command() -@click.pass_context -@click.argument('key', required=True) -@click.argument('value', required=True) -def set(ctx: click.Context, key: Any, value: Any) -> None: - """Store the given key/value.""" - file = ctx.obj['FILE'] - quote = ctx.obj['QUOTE'] - export = ctx.obj['EXPORT'] - success, key, value = set_key(file, key, value, quote, export) - if success: - click.echo(f'{key}={value}') - else: - exit(1) - - -@cli.command() -@click.pass_context -@click.argument('key', required=True) -def get(ctx: click.Context, key: Any) -> None: - """Retrieve the value for the given key.""" - file = ctx.obj['FILE'] - - with stream_file(file) as stream: - values = dotenv_values(stream=stream) - - stored_value = values.get(key) - if stored_value: - click.echo(stored_value) - else: - exit(1) - - -@cli.command() -@click.pass_context -@click.argument('key', required=True) -def unset(ctx: click.Context, key: Any) -> None: - """Removes the given key.""" - file = ctx.obj['FILE'] - quote = ctx.obj['QUOTE'] - success, key = unset_key(file, key, quote) - if success: - click.echo(f"Successfully removed {key}") - else: - exit(1) - - -@cli.command(context_settings={'ignore_unknown_options': True}) -@click.pass_context -@click.option( - "--override/--no-override", - default=True, - help="Override variables from the environment file with those from the .env file.", -) -@click.argument('commandline', nargs=-1, type=click.UNPROCESSED) -def run(ctx: click.Context, override: bool, commandline: List[str]) -> None: - """Run command with environment variables present.""" - file = ctx.obj['FILE'] - if not os.path.isfile(file): - raise click.BadParameter( - f'Invalid value for \'-f\' "{file}" does not exist.', - ctx=ctx - ) - dotenv_as_dict = { - k: v - for (k, v) in dotenv_values(file).items() - if v is not None and (override or k not in os.environ) - } - - if not commandline: - click.echo('No command given.') - exit(1) - ret = run_command(commandline, dotenv_as_dict) - exit(ret) - - -def run_command(command: List[str], env: Dict[str, str]) -> int: - """Run command in sub process. - - Runs the command in a sub process with the variables from `env` - added in the current environment variables. - - Parameters - ---------- - command: List[str] - The command and it's parameters - env: Dict - The additional environment variables - - Returns - ------- - int - The return code of the command - - """ - # copy the current environment variables and add the vales from - # `env` - cmd_env = os.environ.copy() - cmd_env.update(env) - - p = Popen(command, - universal_newlines=True, - bufsize=0, - shell=False, - env=cmd_env) - _, _ = p.communicate() - - return p.returncode diff --git a/venv/lib/python3.11/site-packages/dotenv/ipython.py b/venv/lib/python3.11/site-packages/dotenv/ipython.py deleted file mode 100644 index 7df727c..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/ipython.py +++ /dev/null @@ -1,39 +0,0 @@ -from IPython.core.magic import Magics, line_magic, magics_class # type: ignore -from IPython.core.magic_arguments import (argument, magic_arguments, # type: ignore - parse_argstring) # type: ignore - -from .main import find_dotenv, load_dotenv - - -@magics_class -class IPythonDotEnv(Magics): - - @magic_arguments() - @argument( - '-o', '--override', action='store_true', - help="Indicate to override existing variables" - ) - @argument( - '-v', '--verbose', action='store_true', - help="Indicate function calls to be verbose" - ) - @argument('dotenv_path', nargs='?', type=str, default='.env', - help='Search in increasingly higher folders for the `dotenv_path`') - @line_magic - def dotenv(self, line): - args = parse_argstring(self.dotenv, line) - # Locate the .env file - dotenv_path = args.dotenv_path - try: - dotenv_path = find_dotenv(dotenv_path, True, True) - except IOError: - print("cannot find .env file") - return - - # Load the .env file - load_dotenv(dotenv_path, verbose=args.verbose, override=args.override) - - -def load_ipython_extension(ipython): - """Register the %dotenv magic.""" - ipython.register_magics(IPythonDotEnv) diff --git a/venv/lib/python3.11/site-packages/dotenv/main.py b/venv/lib/python3.11/site-packages/dotenv/main.py deleted file mode 100644 index 7bc5428..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/main.py +++ /dev/null @@ -1,392 +0,0 @@ -import io -import logging -import os -import pathlib -import shutil -import sys -import tempfile -from collections import OrderedDict -from contextlib import contextmanager -from typing import (IO, Dict, Iterable, Iterator, Mapping, Optional, Tuple, - Union) - -from .parser import Binding, parse_stream -from .variables import parse_variables - -# A type alias for a string path to be used for the paths in this file. -# These paths may flow to `open()` and `shutil.move()`; `shutil.move()` -# only accepts string paths, not byte paths or file descriptors. See -# https://github.com/python/typeshed/pull/6832. -StrPath = Union[str, 'os.PathLike[str]'] - -logger = logging.getLogger(__name__) - - -def with_warn_for_invalid_lines(mappings: Iterator[Binding]) -> Iterator[Binding]: - for mapping in mappings: - if mapping.error: - logger.warning( - "Python-dotenv could not parse statement starting at line %s", - mapping.original.line, - ) - yield mapping - - -class DotEnv: - def __init__( - self, - dotenv_path: Optional[StrPath], - stream: Optional[IO[str]] = None, - verbose: bool = False, - encoding: Optional[str] = None, - interpolate: bool = True, - override: bool = True, - ) -> None: - self.dotenv_path: Optional[StrPath] = dotenv_path - self.stream: Optional[IO[str]] = stream - self._dict: Optional[Dict[str, Optional[str]]] = None - self.verbose: bool = verbose - self.encoding: Optional[str] = encoding - self.interpolate: bool = interpolate - self.override: bool = override - - @contextmanager - def _get_stream(self) -> Iterator[IO[str]]: - if self.dotenv_path and os.path.isfile(self.dotenv_path): - with open(self.dotenv_path, encoding=self.encoding) as stream: - yield stream - elif self.stream is not None: - yield self.stream - else: - if self.verbose: - logger.info( - "Python-dotenv could not find configuration file %s.", - self.dotenv_path or '.env', - ) - yield io.StringIO('') - - def dict(self) -> Dict[str, Optional[str]]: - """Return dotenv as dict""" - if self._dict: - return self._dict - - raw_values = self.parse() - - if self.interpolate: - self._dict = OrderedDict(resolve_variables(raw_values, override=self.override)) - else: - self._dict = OrderedDict(raw_values) - - return self._dict - - def parse(self) -> Iterator[Tuple[str, Optional[str]]]: - with self._get_stream() as stream: - for mapping in with_warn_for_invalid_lines(parse_stream(stream)): - if mapping.key is not None: - yield mapping.key, mapping.value - - def set_as_environment_variables(self) -> bool: - """ - Load the current dotenv as system environment variable. - """ - if not self.dict(): - return False - - for k, v in self.dict().items(): - if k in os.environ and not self.override: - continue - if v is not None: - os.environ[k] = v - - return True - - def get(self, key: str) -> Optional[str]: - """ - """ - data = self.dict() - - if key in data: - return data[key] - - if self.verbose: - logger.warning("Key %s not found in %s.", key, self.dotenv_path) - - return None - - -def get_key( - dotenv_path: StrPath, - key_to_get: str, - encoding: Optional[str] = "utf-8", -) -> Optional[str]: - """ - Get the value of a given key from the given .env. - - Returns `None` if the key isn't found or doesn't have a value. - """ - return DotEnv(dotenv_path, verbose=True, encoding=encoding).get(key_to_get) - - -@contextmanager -def rewrite( - path: StrPath, - encoding: Optional[str], -) -> Iterator[Tuple[IO[str], IO[str]]]: - pathlib.Path(path).touch() - - with tempfile.NamedTemporaryFile(mode="w", encoding=encoding, delete=False) as dest: - error = None - try: - with open(path, encoding=encoding) as source: - yield (source, dest) - except BaseException as err: - error = err - - if error is None: - shutil.move(dest.name, path) - else: - os.unlink(dest.name) - raise error from None - - -def set_key( - dotenv_path: StrPath, - key_to_set: str, - value_to_set: str, - quote_mode: str = "always", - export: bool = False, - encoding: Optional[str] = "utf-8", -) -> Tuple[Optional[bool], str, str]: - """ - Adds or Updates a key/value to the given .env - - If the .env path given doesn't exist, fails instead of risking creating - an orphan .env somewhere in the filesystem - """ - if quote_mode not in ("always", "auto", "never"): - raise ValueError(f"Unknown quote_mode: {quote_mode}") - - quote = ( - quote_mode == "always" - or (quote_mode == "auto" and not value_to_set.isalnum()) - ) - - if quote: - value_out = "'{}'".format(value_to_set.replace("'", "\\'")) - else: - value_out = value_to_set - if export: - line_out = f'export {key_to_set}={value_out}\n' - else: - line_out = f"{key_to_set}={value_out}\n" - - with rewrite(dotenv_path, encoding=encoding) as (source, dest): - replaced = False - missing_newline = False - for mapping in with_warn_for_invalid_lines(parse_stream(source)): - if mapping.key == key_to_set: - dest.write(line_out) - replaced = True - else: - dest.write(mapping.original.string) - missing_newline = not mapping.original.string.endswith("\n") - if not replaced: - if missing_newline: - dest.write("\n") - dest.write(line_out) - - return True, key_to_set, value_to_set - - -def unset_key( - dotenv_path: StrPath, - key_to_unset: str, - quote_mode: str = "always", - encoding: Optional[str] = "utf-8", -) -> Tuple[Optional[bool], str]: - """ - Removes a given key from the given `.env` file. - - If the .env path given doesn't exist, fails. - If the given key doesn't exist in the .env, fails. - """ - if not os.path.exists(dotenv_path): - logger.warning("Can't delete from %s - it doesn't exist.", dotenv_path) - return None, key_to_unset - - removed = False - with rewrite(dotenv_path, encoding=encoding) as (source, dest): - for mapping in with_warn_for_invalid_lines(parse_stream(source)): - if mapping.key == key_to_unset: - removed = True - else: - dest.write(mapping.original.string) - - if not removed: - logger.warning("Key %s not removed from %s - key doesn't exist.", key_to_unset, dotenv_path) - return None, key_to_unset - - return removed, key_to_unset - - -def resolve_variables( - values: Iterable[Tuple[str, Optional[str]]], - override: bool, -) -> Mapping[str, Optional[str]]: - new_values: Dict[str, Optional[str]] = {} - - for (name, value) in values: - if value is None: - result = None - else: - atoms = parse_variables(value) - env: Dict[str, Optional[str]] = {} - if override: - env.update(os.environ) # type: ignore - env.update(new_values) - else: - env.update(new_values) - env.update(os.environ) # type: ignore - result = "".join(atom.resolve(env) for atom in atoms) - - new_values[name] = result - - return new_values - - -def _walk_to_root(path: str) -> Iterator[str]: - """ - Yield directories starting from the given directory up to the root - """ - if not os.path.exists(path): - raise IOError('Starting path not found') - - if os.path.isfile(path): - path = os.path.dirname(path) - - last_dir = None - current_dir = os.path.abspath(path) - while last_dir != current_dir: - yield current_dir - parent_dir = os.path.abspath(os.path.join(current_dir, os.path.pardir)) - last_dir, current_dir = current_dir, parent_dir - - -def find_dotenv( - filename: str = '.env', - raise_error_if_not_found: bool = False, - usecwd: bool = False, -) -> str: - """ - Search in increasingly higher folders for the given file - - Returns path to the file if found, or an empty string otherwise - """ - - def _is_interactive(): - """ Decide whether this is running in a REPL or IPython notebook """ - try: - main = __import__('__main__', None, None, fromlist=['__file__']) - except ModuleNotFoundError: - return False - return not hasattr(main, '__file__') - - if usecwd or _is_interactive() or getattr(sys, 'frozen', False): - # Should work without __file__, e.g. in REPL or IPython notebook. - path = os.getcwd() - else: - # will work for .py files - frame = sys._getframe() - current_file = __file__ - - while frame.f_code.co_filename == current_file or not os.path.exists( - frame.f_code.co_filename - ): - assert frame.f_back is not None - frame = frame.f_back - frame_filename = frame.f_code.co_filename - path = os.path.dirname(os.path.abspath(frame_filename)) - - for dirname in _walk_to_root(path): - check_path = os.path.join(dirname, filename) - if os.path.isfile(check_path): - return check_path - - if raise_error_if_not_found: - raise IOError('File not found') - - return '' - - -def load_dotenv( - dotenv_path: Optional[StrPath] = None, - stream: Optional[IO[str]] = None, - verbose: bool = False, - override: bool = False, - interpolate: bool = True, - encoding: Optional[str] = "utf-8", -) -> bool: - """Parse a .env file and then load all the variables found as environment variables. - - Parameters: - dotenv_path: Absolute or relative path to .env file. - stream: Text stream (such as `io.StringIO`) with .env content, used if - `dotenv_path` is `None`. - verbose: Whether to output a warning the .env file is missing. - override: Whether to override the system environment variables with the variables - from the `.env` file. - encoding: Encoding to be used to read the file. - Returns: - Bool: True if at least one environment variable is set else False - - If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the - .env file. - """ - if dotenv_path is None and stream is None: - dotenv_path = find_dotenv() - - dotenv = DotEnv( - dotenv_path=dotenv_path, - stream=stream, - verbose=verbose, - interpolate=interpolate, - override=override, - encoding=encoding, - ) - return dotenv.set_as_environment_variables() - - -def dotenv_values( - dotenv_path: Optional[StrPath] = None, - stream: Optional[IO[str]] = None, - verbose: bool = False, - interpolate: bool = True, - encoding: Optional[str] = "utf-8", -) -> Dict[str, Optional[str]]: - """ - Parse a .env file and return its content as a dict. - - The returned dict will have `None` values for keys without values in the .env file. - For example, `foo=bar` results in `{"foo": "bar"}` whereas `foo` alone results in - `{"foo": None}` - - Parameters: - dotenv_path: Absolute or relative path to the .env file. - stream: `StringIO` object with .env content, used if `dotenv_path` is `None`. - verbose: Whether to output a warning if the .env file is missing. - encoding: Encoding to be used to read the file. - - If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the - .env file. - """ - if dotenv_path is None and stream is None: - dotenv_path = find_dotenv() - - return DotEnv( - dotenv_path=dotenv_path, - stream=stream, - verbose=verbose, - interpolate=interpolate, - override=True, - encoding=encoding, - ).dict() diff --git a/venv/lib/python3.11/site-packages/dotenv/parser.py b/venv/lib/python3.11/site-packages/dotenv/parser.py deleted file mode 100644 index 735f14a..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/parser.py +++ /dev/null @@ -1,175 +0,0 @@ -import codecs -import re -from typing import (IO, Iterator, Match, NamedTuple, Optional, # noqa:F401 - Pattern, Sequence, Tuple) - - -def make_regex(string: str, extra_flags: int = 0) -> Pattern[str]: - return re.compile(string, re.UNICODE | extra_flags) - - -_newline = make_regex(r"(\r\n|\n|\r)") -_multiline_whitespace = make_regex(r"\s*", extra_flags=re.MULTILINE) -_whitespace = make_regex(r"[^\S\r\n]*") -_export = make_regex(r"(?:export[^\S\r\n]+)?") -_single_quoted_key = make_regex(r"'([^']+)'") -_unquoted_key = make_regex(r"([^=\#\s]+)") -_equal_sign = make_regex(r"(=[^\S\r\n]*)") -_single_quoted_value = make_regex(r"'((?:\\'|[^'])*)'") -_double_quoted_value = make_regex(r'"((?:\\"|[^"])*)"') -_unquoted_value = make_regex(r"([^\r\n]*)") -_comment = make_regex(r"(?:[^\S\r\n]*#[^\r\n]*)?") -_end_of_line = make_regex(r"[^\S\r\n]*(?:\r\n|\n|\r|$)") -_rest_of_line = make_regex(r"[^\r\n]*(?:\r|\n|\r\n)?") -_double_quote_escapes = make_regex(r"\\[\\'\"abfnrtv]") -_single_quote_escapes = make_regex(r"\\[\\']") - - -class Original(NamedTuple): - string: str - line: int - - -class Binding(NamedTuple): - key: Optional[str] - value: Optional[str] - original: Original - error: bool - - -class Position: - def __init__(self, chars: int, line: int) -> None: - self.chars = chars - self.line = line - - @classmethod - def start(cls) -> "Position": - return cls(chars=0, line=1) - - def set(self, other: "Position") -> None: - self.chars = other.chars - self.line = other.line - - def advance(self, string: str) -> None: - self.chars += len(string) - self.line += len(re.findall(_newline, string)) - - -class Error(Exception): - pass - - -class Reader: - def __init__(self, stream: IO[str]) -> None: - self.string = stream.read() - self.position = Position.start() - self.mark = Position.start() - - def has_next(self) -> bool: - return self.position.chars < len(self.string) - - def set_mark(self) -> None: - self.mark.set(self.position) - - def get_marked(self) -> Original: - return Original( - string=self.string[self.mark.chars:self.position.chars], - line=self.mark.line, - ) - - def peek(self, count: int) -> str: - return self.string[self.position.chars:self.position.chars + count] - - def read(self, count: int) -> str: - result = self.string[self.position.chars:self.position.chars + count] - if len(result) < count: - raise Error("read: End of string") - self.position.advance(result) - return result - - def read_regex(self, regex: Pattern[str]) -> Sequence[str]: - match = regex.match(self.string, self.position.chars) - if match is None: - raise Error("read_regex: Pattern not found") - self.position.advance(self.string[match.start():match.end()]) - return match.groups() - - -def decode_escapes(regex: Pattern[str], string: str) -> str: - def decode_match(match: Match[str]) -> str: - return codecs.decode(match.group(0), 'unicode-escape') # type: ignore - - return regex.sub(decode_match, string) - - -def parse_key(reader: Reader) -> Optional[str]: - char = reader.peek(1) - if char == "#": - return None - elif char == "'": - (key,) = reader.read_regex(_single_quoted_key) - else: - (key,) = reader.read_regex(_unquoted_key) - return key - - -def parse_unquoted_value(reader: Reader) -> str: - (part,) = reader.read_regex(_unquoted_value) - return re.sub(r"\s+#.*", "", part).rstrip() - - -def parse_value(reader: Reader) -> str: - char = reader.peek(1) - if char == u"'": - (value,) = reader.read_regex(_single_quoted_value) - return decode_escapes(_single_quote_escapes, value) - elif char == u'"': - (value,) = reader.read_regex(_double_quoted_value) - return decode_escapes(_double_quote_escapes, value) - elif char in (u"", u"\n", u"\r"): - return u"" - else: - return parse_unquoted_value(reader) - - -def parse_binding(reader: Reader) -> Binding: - reader.set_mark() - try: - reader.read_regex(_multiline_whitespace) - if not reader.has_next(): - return Binding( - key=None, - value=None, - original=reader.get_marked(), - error=False, - ) - reader.read_regex(_export) - key = parse_key(reader) - reader.read_regex(_whitespace) - if reader.peek(1) == "=": - reader.read_regex(_equal_sign) - value: Optional[str] = parse_value(reader) - else: - value = None - reader.read_regex(_comment) - reader.read_regex(_end_of_line) - return Binding( - key=key, - value=value, - original=reader.get_marked(), - error=False, - ) - except Error: - reader.read_regex(_rest_of_line) - return Binding( - key=None, - value=None, - original=reader.get_marked(), - error=True, - ) - - -def parse_stream(stream: IO[str]) -> Iterator[Binding]: - reader = Reader(stream) - while reader.has_next(): - yield parse_binding(reader) diff --git a/venv/lib/python3.11/site-packages/dotenv/py.typed b/venv/lib/python3.11/site-packages/dotenv/py.typed deleted file mode 100644 index 7632ecf..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/py.typed +++ /dev/null @@ -1 +0,0 @@ -# Marker file for PEP 561 diff --git a/venv/lib/python3.11/site-packages/dotenv/variables.py b/venv/lib/python3.11/site-packages/dotenv/variables.py deleted file mode 100644 index 667f2f2..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/variables.py +++ /dev/null @@ -1,86 +0,0 @@ -import re -from abc import ABCMeta, abstractmethod -from typing import Iterator, Mapping, Optional, Pattern - -_posix_variable: Pattern[str] = re.compile( - r""" - \$\{ - (?P[^\}:]*) - (?::- - (?P[^\}]*) - )? - \} - """, - re.VERBOSE, -) - - -class Atom(metaclass=ABCMeta): - def __ne__(self, other: object) -> bool: - result = self.__eq__(other) - if result is NotImplemented: - return NotImplemented - return not result - - @abstractmethod - def resolve(self, env: Mapping[str, Optional[str]]) -> str: ... - - -class Literal(Atom): - def __init__(self, value: str) -> None: - self.value = value - - def __repr__(self) -> str: - return f"Literal(value={self.value})" - - def __eq__(self, other: object) -> bool: - if not isinstance(other, self.__class__): - return NotImplemented - return self.value == other.value - - def __hash__(self) -> int: - return hash((self.__class__, self.value)) - - def resolve(self, env: Mapping[str, Optional[str]]) -> str: - return self.value - - -class Variable(Atom): - def __init__(self, name: str, default: Optional[str]) -> None: - self.name = name - self.default = default - - def __repr__(self) -> str: - return f"Variable(name={self.name}, default={self.default})" - - def __eq__(self, other: object) -> bool: - if not isinstance(other, self.__class__): - return NotImplemented - return (self.name, self.default) == (other.name, other.default) - - def __hash__(self) -> int: - return hash((self.__class__, self.name, self.default)) - - def resolve(self, env: Mapping[str, Optional[str]]) -> str: - default = self.default if self.default is not None else "" - result = env.get(self.name, default) - return result if result is not None else "" - - -def parse_variables(value: str) -> Iterator[Atom]: - cursor = 0 - - for match in _posix_variable.finditer(value): - (start, end) = match.span() - name = match["name"] - default = match["default"] - - if start > cursor: - yield Literal(value=value[cursor:start]) - - yield Variable(name=name, default=default) - cursor = end - - length = len(value) - if cursor < length: - yield Literal(value=value[cursor:length]) diff --git a/venv/lib/python3.11/site-packages/dotenv/version.py b/venv/lib/python3.11/site-packages/dotenv/version.py deleted file mode 100644 index 5c4105c..0000000 --- a/venv/lib/python3.11/site-packages/dotenv/version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "1.0.1" diff --git a/venv/lib/python3.11/site-packages/editorconfig/__init__.py b/venv/lib/python3.11/site-packages/editorconfig/__init__.py deleted file mode 100644 index 2574ce4..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -"""EditorConfig Python Core""" - -from editorconfig.versiontools import join_version -from editorconfig.version import VERSION - -__all__ = ['get_properties', 'EditorConfigError', 'exceptions'] - -__version__ = join_version(VERSION) - - -def get_properties(filename): - """Locate and parse EditorConfig files for the given filename""" - handler = EditorConfigHandler(filename) - return handler.get_configurations() - - -from editorconfig.handler import EditorConfigHandler -from editorconfig.exceptions import * diff --git a/venv/lib/python3.11/site-packages/editorconfig/__main__.py b/venv/lib/python3.11/site-packages/editorconfig/__main__.py deleted file mode 100644 index fc98b6f..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/__main__.py +++ /dev/null @@ -1,82 +0,0 @@ -"""EditorConfig command line interface - -Licensed under Simplified BSD License (see LICENSE.BSD file). - -""" - -import getopt -import sys - -from editorconfig import VERSION, __version__ -from editorconfig.compat import force_unicode -from editorconfig.exceptions import ParsingError, PathError, VersionError -from editorconfig.handler import EditorConfigHandler -from editorconfig.versiontools import split_version - - -def version(): - print("EditorConfig Python Core Version %s" % __version__) - - -def usage(command, error=False): - if error: - out = sys.stderr - else: - out = sys.stdout - out.write("%s [OPTIONS] FILENAME\n" % command) - out.write('-f ' - 'Specify conf filename other than ".editorconfig".\n') - out.write("-b " - "Specify version (used by devs to test compatibility).\n") - out.write("-h OR --help Print this help message.\n") - out.write("-v OR --version Display version information.\n") - - -def main(): - command_name = sys.argv[0] - try: - opts, args = getopt.getopt(list(map(force_unicode, sys.argv[1:])), - "vhb:f:", ["version", "help"]) - except getopt.GetoptError as e: - print(str(e)) - usage(command_name, error=True) - sys.exit(2) - - version_tuple = VERSION - conf_filename = '.editorconfig' - - for option, arg in opts: - if option in ('-h', '--help'): - usage(command_name) - sys.exit() - if option in ('-v', '--version'): - version() - sys.exit() - if option == '-f': - conf_filename = arg - if option == '-b': - version_tuple = split_version(arg) - if version_tuple is None: - sys.exit("Invalid version number: %s" % arg) - - if len(args) < 1: - usage(command_name, error=True) - sys.exit(2) - filenames = args - multiple_files = len(args) > 1 - - for filename in filenames: - handler = EditorConfigHandler(filename, conf_filename, version_tuple) - try: - options = handler.get_configurations() - except (ParsingError, PathError, VersionError) as e: - print(str(e)) - sys.exit(2) - if multiple_files: - print("[%s]" % filename) - for key, value in options.items(): - print("%s=%s" % (key, value)) - - -if __name__ == "__main__": - main() diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__init__.cpython-311.pyc deleted file mode 100644 index 35f562f..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__init__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__main__.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__main__.cpython-311.pyc deleted file mode 100644 index 5343829..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/__main__.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/compat.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/compat.cpython-311.pyc deleted file mode 100644 index 1686a75..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/compat.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/exceptions.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/exceptions.cpython-311.pyc deleted file mode 100644 index 511078f..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/exceptions.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/fnmatch.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/fnmatch.cpython-311.pyc deleted file mode 100644 index 5d4a548..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/fnmatch.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/handler.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/handler.cpython-311.pyc deleted file mode 100644 index 8504183..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/handler.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/ini.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/ini.cpython-311.pyc deleted file mode 100644 index 65d5307..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/ini.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/version.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/version.cpython-311.pyc deleted file mode 100644 index 2f937fa..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/version.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/versiontools.cpython-311.pyc b/venv/lib/python3.11/site-packages/editorconfig/__pycache__/versiontools.cpython-311.pyc deleted file mode 100644 index 69373b5..0000000 Binary files a/venv/lib/python3.11/site-packages/editorconfig/__pycache__/versiontools.cpython-311.pyc and /dev/null differ diff --git a/venv/lib/python3.11/site-packages/editorconfig/compat.py b/venv/lib/python3.11/site-packages/editorconfig/compat.py deleted file mode 100644 index 4b9f8ca..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/compat.py +++ /dev/null @@ -1,24 +0,0 @@ -"""EditorConfig Python2/Python3 compatibility utilities""" -import sys - - -__all__ = ['force_unicode', 'u'] - - -if sys.version_info[0] == 2: - text_type = unicode -else: - text_type = str - - -def force_unicode(string): - if not isinstance(string, text_type): - string = text_type(string, encoding='utf-8') - return string - - -if sys.version_info[0] == 2: - import codecs - u = lambda s: codecs.unicode_escape_decode(s)[0] -else: - u = lambda s: s diff --git a/venv/lib/python3.11/site-packages/editorconfig/exceptions.py b/venv/lib/python3.11/site-packages/editorconfig/exceptions.py deleted file mode 100644 index c25f681..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/exceptions.py +++ /dev/null @@ -1,27 +0,0 @@ -"""EditorConfig exception classes - -Licensed under Simplified BSD License (see LICENSE.BSD file). - -""" - - -class EditorConfigError(Exception): - """Parent class of all exceptions raised by EditorConfig""" - - -try: - from ConfigParser import ParsingError as _ParsingError -except: - from configparser import ParsingError as _ParsingError - - -class ParsingError(_ParsingError, EditorConfigError): - """Error raised if an EditorConfig file could not be parsed""" - - -class PathError(ValueError, EditorConfigError): - """Error raised if invalid filepath is specified""" - - -class VersionError(ValueError, EditorConfigError): - """Error raised if invalid version number is specified""" diff --git a/venv/lib/python3.11/site-packages/editorconfig/fnmatch.py b/venv/lib/python3.11/site-packages/editorconfig/fnmatch.py deleted file mode 100644 index 76692b8..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/fnmatch.py +++ /dev/null @@ -1,223 +0,0 @@ -"""Filename matching with shell patterns. - -fnmatch(FILENAME, PATTERN) matches according to the local convention. -fnmatchcase(FILENAME, PATTERN) always takes case in account. - -The functions operate by translating the pattern into a regular -expression. They cache the compiled regular expressions for speed. - -The function translate(PATTERN) returns a regular expression -corresponding to PATTERN. (It does not compile it.) - -Based on code from fnmatch.py file distributed with Python 2.6. - -Licensed under PSF License (see LICENSE.PSF file). - -Changes to original fnmatch module: -- translate function supports ``*`` and ``**`` similarly to fnmatch C library -""" - -import os -import re - - -__all__ = ["fnmatch", "fnmatchcase", "translate"] - -_cache = {} - -LEFT_BRACE = re.compile( - r""" - - (? 0 and not is_escaped: - result += '|' - else: - result += '\\,' - elif current_char == '}': - if brace_level > 0 and not is_escaped: - result += ')' - brace_level -= 1 - else: - result += '\\}' - elif current_char == '/': - if pat[index:(index + 3)] == "**/": - result += "(?:/|/.*/)" - index += 3 - else: - result += '/' - elif current_char != '\\': - result += re.escape(current_char) - if current_char == '\\': - if is_escaped: - result += re.escape(current_char) - is_escaped = not is_escaped - else: - is_escaped = False - if not nested: - result = r'(?s)%s\Z' % result - return result, numeric_groups diff --git a/venv/lib/python3.11/site-packages/editorconfig/handler.py b/venv/lib/python3.11/site-packages/editorconfig/handler.py deleted file mode 100644 index 1c33c02..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/handler.py +++ /dev/null @@ -1,127 +0,0 @@ -"""EditorConfig file handler - -Provides ``EditorConfigHandler`` class for locating and parsing -EditorConfig files relevant to a given filepath. - -Licensed under Simplified BSD License (see LICENSE.BSD file). - -""" - -import os - -from editorconfig import VERSION -from editorconfig.exceptions import PathError, VersionError -from editorconfig.ini import EditorConfigParser - - -__all__ = ['EditorConfigHandler'] - - -def get_filenames(path, filename): - """Yield full filepath for filename in each directory in and above path""" - path_list = [] - while True: - path_list.append(os.path.join(path, filename)) - newpath = os.path.dirname(path) - if path == newpath: - break - path = newpath - return path_list - - -class EditorConfigHandler(object): - - """ - Allows locating and parsing of EditorConfig files for given filename - - In addition to the constructor a single public method is provided, - ``get_configurations`` which returns the EditorConfig options for - the ``filepath`` specified to the constructor. - - """ - - def __init__(self, filepath, conf_filename='.editorconfig', - version=VERSION): - """Create EditorConfigHandler for matching given filepath""" - self.filepath = filepath - self.conf_filename = conf_filename - self.version = version - self.options = None - - def get_configurations(self): - - """ - Find EditorConfig files and return all options matching filepath - - Special exceptions that may be raised by this function include: - - - ``VersionError``: self.version is invalid EditorConfig version - - ``PathError``: self.filepath is not a valid absolute filepath - - ``ParsingError``: improperly formatted EditorConfig file found - - """ - - self.check_assertions() - path, filename = os.path.split(self.filepath) - conf_files = get_filenames(path, self.conf_filename) - - # Attempt to find and parse every EditorConfig file in filetree - for filename in conf_files: - parser = EditorConfigParser(self.filepath) - parser.read(filename) - - # Merge new EditorConfig file's options into current options - old_options = self.options - self.options = parser.options - if old_options: - self.options.update(old_options) - - # Stop parsing if parsed file has a ``root = true`` option - if parser.root_file: - break - - self.preprocess_values() - return self.options - - def check_assertions(self): - - """Raise error if filepath or version have invalid values""" - - # Raise ``PathError`` if filepath isn't an absolute path - if not os.path.isabs(self.filepath): - raise PathError("Input file must be a full path name.") - - # Raise ``VersionError`` if version specified is greater than current - if self.version is not None and self.version[:3] > VERSION[:3]: - raise VersionError( - "Required version is greater than the current version.") - - def preprocess_values(self): - - """Preprocess option values for consumption by plugins""" - - opts = self.options - - # Lowercase option value for certain options - for name in ["end_of_line", "indent_style", "indent_size", - "insert_final_newline", "trim_trailing_whitespace", - "charset"]: - if name in opts: - opts[name] = opts[name].lower() - - # Set indent_size to "tab" if indent_size is unspecified and - # indent_style is set to "tab". - if (opts.get("indent_style") == "tab" and - not "indent_size" in opts and self.version >= (0, 10, 0)): - opts["indent_size"] = "tab" - - # Set tab_width to indent_size if indent_size is specified and - # tab_width is unspecified - if ("indent_size" in opts and "tab_width" not in opts and - opts["indent_size"] != "tab"): - opts["tab_width"] = opts["indent_size"] - - # Set indent_size to tab_width if indent_size is "tab" - if ("indent_size" in opts and "tab_width" in opts and - opts["indent_size"] == "tab"): - opts["indent_size"] = opts["tab_width"] diff --git a/venv/lib/python3.11/site-packages/editorconfig/ini.py b/venv/lib/python3.11/site-packages/editorconfig/ini.py deleted file mode 100644 index c603d79..0000000 --- a/venv/lib/python3.11/site-packages/editorconfig/ini.py +++ /dev/null @@ -1,183 +0,0 @@ -"""EditorConfig file parser - -Based on code from ConfigParser.py file distributed with Python 2.6. - -Licensed under PSF License (see LICENSE.PSF file). - -Changes to original ConfigParser: - -- Special characters can be used in section names -- Octothorpe can be used for comments (not just at beginning of line) -- Only track INI options in sections that match target filename -- Stop parsing files with when ``root = true`` is found - -""" - -import posixpath -import re -from codecs import open -from collections import OrderedDict -from os import sep -from os.path import dirname, normpath - -from editorconfig.compat import u -from editorconfig.exceptions import ParsingError -from editorconfig.fnmatch import fnmatch - - -__all__ = ["ParsingError", "EditorConfigParser"] - -MAX_SECTION_LENGTH = 4096 -MAX_PROPERTY_LENGTH= 50 -MAX_VALUE_LENGTH = 255 - - -class EditorConfigParser(object): - - """Parser for EditorConfig-style configuration files - - Based on RawConfigParser from ConfigParser.py in Python 2.6. - """ - - # Regular expressions for parsing section headers and options. - # Allow ``]`` and escaped ``;`` and ``#`` characters in section headers - SECTCRE = re.compile( - r""" - - \s * # Optional whitespace - \[ # Opening square brace - - (?P
# One or more characters excluding - ( [^\#;] | \\\# | \\; ) + # unescaped # and ; characters - ) - - \] # Closing square brace - - """, re.VERBOSE - ) - # Regular expression for parsing option name/values. - # Allow any amount of whitespaces, followed by separator - # (either ``:`` or ``=``), followed by any amount of whitespace and then - # any characters to eol - OPTCRE = re.compile( - r""" - - \s * # Optional whitespace - (?P